DB2 SQLCODE=-206, SQLSTATE=42703 定義表字段問題


>[錯誤] 腳本行:1-1 ---------------------------------------

 "STATUS" is not valid in the context where it is used.. SQLCODE=-206, SQLSTATE=42703, DRIVER=3.53.71 

 更多例外 ... An error occurred during implicit system action type "2". Information returned for the error includes SQLCODE "-206", SQLSTATE "42703" and message tokens "STATUS".. SQLCODE=-727, SQLSTATE=56098, DRIVER=3.53.71

 

執行SQL文時總是報這個錯誤,原因是:

在DB2中,默認情況下所有的名稱都可包含一下字符:A-Z(大寫) 0到9  @、#、$和_(下划線) 名稱不能以數字和下划線開頭。

數據庫對象的表,其命名遵循以上規則,所以即使利用命令創建表時,使用的是小寫,DB2仍會將其轉換為大寫。

但需要注意的是,並非db client軟件也會自動轉換,我在使用ibm data studio4或Aqua data studio等客戶端時,發現統計studio 提供的圖形界面創建,並不能自動轉換為大寫,

比如使用studio創建表時將字段定義為小寫的status,這樣再使用普通的SQL語句操作,例如:

select * from LARGE_RECEIPT where status='E' 就會報錯

解決方法:定義時用大寫字母

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM