1. 程式人生 > >ORACEL 之 標識符無效 問題總結

ORACEL 之 標識符無效 問題總結

圖片 end gin 所有 麻煩 fff 方案 -c ren

  今天自己在家裏做畢業設計,遇到了ORACLE數據庫的一些問題,所以來總結一下。自己在上班的時候也遇到客戶過提過這樣的問題,當時自己在百度上查了,給客戶解決完。自己也沒有在意,這次又出現這個問題,又是折騰了一會。真不值,遇到過的問題一定要多去總結和回顧

(一) ONE

  第一種情況可能是因為你的列名寫錯了,導致查詢的時候,報的標識符無效。

  我覺得這種情況應該是比較少見的。

(二) TWO

  我不知道大家用過NAVICAT沒,我很是喜歡用這個工具。他除了很棒的UI界面外。還有很強大的功能。比如說將mysql的數據一鍵遷移到oracle中去,當然反方向也是可以的。

  第二種出現的情況就是。Oracle會將小寫自動轉換為大寫。比如你數據庫中的字段是小寫,你查詢的SQL語句也是小寫,但是ORACLE 將你的查詢語句轉為了大寫(ORACLE嚴格區分大小寫

這樣去數據庫中查找,它就找不到對應的字段。這樣數據庫就會報錯。

  解決方案:

  將這段代碼中的表名替換成自己要修改的表名,就可以把表中所有的小寫字段名一下全部換為大寫,很方便。

begin
  for c in (select COLUMN_NAME cn from all_tab_columns where table_name=表名) loop
    begin
    execute immediate alter table 表名 rename column "||c.cn||" to ||c.cn;
    exception
    when others then
    dbms_output.put_line(表名||.||c.cn||已經存在);     end;   end loop; end;

附 ORACLE 對照表一張


技術分享圖片

綜上所述,我們在使用ORACLE數據庫的時候,無論是表的名字,還是表中的字段的名字,都要大寫免去不必要的麻煩!!


          

            2019希望自己事事順利,努力工作,幸福生活。

ORACEL 之 標識符無效 問題總結