>[錯誤] 腳本行: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' 就會報錯
解決方法:定義時用大寫字母