ORACLE 之 識別符號無效 問題總結及解決方案

2022-05-02 07:21:11 字數 1040 閱讀 3650

(一)  one

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

或是資料庫中沒有這個列名,但是你的sql語句中有這個字段。但是客戶就出現了這個問題,我也很費解是什麼原因導致資料庫的列缺少了。當時我是直接用pl/sql遠端直接給客戶新增了缺少的字段。

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

(二)  two

第二種出現的情況就是。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;

endloop;

end;

附 oracle 對照表一張

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

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

oracle報錯 識別符號無效

1 列名寫錯 2 使用了關鍵字作為列名 3 oracle表欄位名和sql語句中的列名有特殊的對應關係 重要 如下表所示oracle表欄位名 sql語句中的列名 正確性大寫 sql語句中大寫 正確大寫 sql語句中小寫 正確 會自動將小寫轉為大寫 大寫sql語句中小寫 被引號包裹 錯誤小寫 sql語句...

Oracle更新無效的識別符號在更新

我得到了乙個無效的識別符號的例外當我執行下乙個指令碼。我已經看到了鏈結它應該工作。它不能引用a2 secound選擇下表,但它應該更新相關的行值。update auto a2 set uuid select uuid from select c.uuid,c.pk from color c join...

Oracle 關於識別符號和別名

別名 oracle中的如果在命名時別名使用雙引號,則英文識別符號需要用大寫,因為oracle的在識別你的識別符號的時候是預設大寫的,而你在雙引號內使用了小寫的話,就代表你將欄位名命名為了小寫,這樣就無法查到了,所以就會報錯,錯誤示範如下 select from dms left join selec...