(一) one
第一種情況可能是因為你的sql中列名寫錯了,導致查詢的時候,報的識別符號無效。
或是資料庫中沒有這個列名,但是你的sql語句中有這個字段。但是客戶就出現了這個問題,我也很費解是什麼原因導致資料庫的列缺少了。當時我是直接用pl/sql遠端直接給客戶新增了缺少的字段。
我覺得這種情況應該是比較少見的。
(二) two
第二種出現的情況就是。oracle會將小寫自動轉換為大寫。比如你資料庫中的字段是小寫,你查詢的sql語句也是小寫,但是oracle 將你的查詢語句轉為了大寫(oracle嚴格區分大小寫)這樣去資料庫中查詢,它就找不到對應的字段。這樣資料庫就會報錯。
解決方案:
將這段**中的表名替換成自己要修改的表名,就可以把表中所有的小寫欄位名一下全部換為大寫,很方便。
begin附 oracle 對照表一張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資料庫的時候,無論是表的名字,還是表中的字段的名字,都要大寫免去不必要的麻煩
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...