DB2信息大全1

訊息參照<!----><!----><!----><!----><!----><!----><!----><!----><!---->

訊息參照


第 11 章 SQLSTATE 訊息


表 1. SQLSTATE 類別碼




類別 碼   含義 如需子碼, 請參閱 ...
00 絕對成功的完成 表 2
01 警告 表 3
02 無資料 表 4
07 動態 SQL 錯誤 表 5
08 連線例外狀況 表 6
09 觸發動作例外狀況 表 7
0A 不支援的功能 表 8
0F 無效的記號 表 9
21 嚴重違規 表 10
22 資料例外狀況 表 11
23 限制違規 表 12
24 無效的游標狀態 表 13
25 無效的異動狀態 表 14
26 無效的 SQL 陳述式識別字 表 15
28 無效的權限說明 表 16
2D 無效的異動終止? 表 17
2E 無效的連線名稱 表 18
34 無效的游標名稱 表 19
38 外部功能例外狀況 表 20
39 外部功能呼叫例外狀況 表 21
40 異動 Roll back 表 22
42 語法錯誤或存取規則違規 表 23
44 WITH CHECK OPTION 違規 表 24
51 無效的應用程式狀態 表 25
54 超過 SQL 或產品限制 表 26
55 物件未在先決條件狀態中 表 27
56 其他 SQL 或產品錯誤 表 28
57 無可用的資源或操作員介入 表 29
58 系統錯誤 表 30

 

 

表 2. 類別碼 00:絕對成功的完成


SQLSTATE 值   含義
00000 SQL 陳述式的執行成功,且未產生任何類型的警告或例外狀況。

表 3. 類別碼 01:警告


SQLSTATE 值   含義
01002 發生 DISCONNECT (連線切斷)錯誤。
01003 已從欄函數的引數消除空值。
01004 字串值被指定給主變數時被截斷。
01005 SQLDA 中的登錄數不夠。
01007 未授與特權。
01503 結果欄的數目大於所提供的主變數數目。
01504 UPDATE 或 DELETE 陳述式不包括 WHERE 子句。
01506 已對 DATE 或 TIMESTAMP 值作調整,以更正算術運算產生的無效日期。
01509 由於使用者的虛擬機器記憶體不足,已取消游標建立的區塊。
01515 已指定 NULL 值給主變數,因為直欄的非 NULL 值不在主變數的範圍內。
01516 已忽略不能應用的 WITH GRANT OPTION。
01517 已用替代字元置換無法轉換的字元。
01519 已指定 NULL 值給主變數,因為數值超出範圍。
01524 直欄函數的結果不包括因計算算術運算所引起的 NULL 值。
01526 隔離層次已逐漸升高。
01539 連線成功,但只應使用 SBCS 字元。
01543 重複限制已被略過。
01545 不合格的欄名被解譯為相關參考。
01550 未建立索引,因為已有具備指定說明的索引存在。
01560 多餘的 GRANT 已被忽略。
01562 資料庫架構檔中的日誌新路徑 (newlogpth) 是無效的。
01563 進入日誌檔的現行路徑 (logpath) 是無效的。日誌檔路徑已重設為預設值。
01564 已指定 NULL 值給主變數,因為除數為零。
01586 分割參照結構的原始表格的限制,導致一個或多個後續表格被自動置入檢查擱置狀態
01589 陳述式包含多餘的規格。
01592 在參照 SOURCE 功能的 CREATE FUNCTION 陳述式中,可能是:
  • 輸入參數的長度、精確度或比例,大於原始功能對應參數的長度、精確度或比例;或
  • RETURNS 或 CAST FROM 參數的長度、精確度或比例,小於原始功能的長度、精確度或比例;或
  • CREATE FUNCTION 陳述式中的 CAST FROM 參數,其長度、精確度或比例,大於 RETURNS 參數的長度、精確度或比例。
執行時可能發生截斷(並可能在此時造成錯誤)。
01594 ALL 資訊的 SQLDA 中,登錄數不足(亦即,沒有足夠的描述子可傳回明確的名稱)。
01595 該概略表已取代現存的無效概略表。
01596 對於以長字串資料類型為基礎的明確類型,並未建立比較功能。
01598 嘗試啟動作用中的事件監督程式,或停止非作用中的事件監督程式。
01599 REBIND 上略過了連結選項。
01602 最佳化層次已被降低。
01603 CHECK DATA 處理發現限制違規,並將它們移至例外狀況表格。
01604 已解譯 SQL 陳述式且未執行它。
01605 遞迴共用表格表示式可能包含無限迴路。
01606 節點或系統資料庫目錄是空的。
01607 唯讀異動中,節點上時間之間的差異超過定義的臨界值。
01610 從程序中傳回了一個或多個 ad hoc 結果集。
01611 在鏈內的下一個結果集上,已重新開啟已關閉的游標。
01618 需有重新分送節點群組,方可變更資料分割。
01620 UNION ALL 的某些基本表格可能是同一個表格。
01621 可能已變更了擷取的 LOB 值。
01622 已順利地完成陳述式,但是在完成陳述式之後,發生了一個系統錯誤。
01623 DEGREE 的值已被忽略。
01626 資料庫僅擁有一個作用中緩衝池。
01627 由於表格正暫停調節中或是不可能有調節狀態,所以 DATALINK 值無效。
01632 並行連接的數目已超出針對產品所定義的。
01633 摘要表格無法用來最佳化查詢的處理。
01Hxx 使用者定義功能或外部程序 CALL 傳回有效的警告 SQLSTAE。

表 4. 類別碼 02:無資料


SQLSTATE 值   含義
02000 發生下列例外狀況之一:
  • SELECT INTO 陳述式的結果或 INSERT 陳述式的次選擇為空表格。
  • 所搜尋的 UPDATE 或 DELETE 陳述式中識別的列數為零。
  • FETCH 陳述式中參照的游標位置,位於結果表格的最後一列之後。

表 5. 類別碼 07:動態 SQL 錯誤


SQLSTATE 值   含義
07001 主變數的數目與參數標記數目不同。
07002 呼叫參數列示或控制區塊無效。
07003 EXECUTE 陳述式中識別的陳述是選擇陳述,或是不在準備狀態中。
07004 動態參數需要 USING 子句。
07005 游標的陳述式名稱識別一備妥的陳述式,此陳述式不能與游標關聯。
07006 輸入主變數由於其資料類型,所以不能使用。

表 6. 類別碼 08:連線例外狀況


SQLSTATE 值   含義
08001 應用程式要求程式無法建立連線。
08002 連線已經存在。
08003 連線不存在。
08004 應用程式伺服器拒絕了連線的建立。
08007 不明的異動解析。
08502 用 SYNCPOINT of TWOPHASE 執行的應用程式處理所發出的 CONNECT 陳述式失敗,因為沒有異動管理程式可用。

表 7. 類別碼 09:觸發動作例外狀況


SQLSTATE 值   含義
09000 觸發的 SQL 陳述式已失敗。

表 8. 類別碼 0A:不支援的功能


SQLSTATE 值   含義
0A001 CONNECT 陳述式無效,因為處理不在可連線狀態中。

表 9. 類別碼 OF:無效的記號


SQLSTATE 值   含義
0F001 LOB 記號變數目前不代表任何值。

表 10. 類別碼 21:嚴重違規


SQLSTATE 值   含義
21000 SELECT INTO 的結果是包含多列的結果表格,或者基本搜尋比較值的次查詢結果有多個值。
21501 加入自行參照表中的多列 INSERT 是無效的。
21502 主要關鍵欄位的多列 UPDATE 是無效的。
21504 在使用 RESTRICT 或 SET NULL 刪除規則的自行參照表上作多列 DELETE 是無效的。
21505 橫列函數必須傳回不超過一橫列。

表 11. 類別碼 22:資料例外狀況


SQLSTATE 值   含義
22001 字元資料,發生右側截斷;例如,更新或插入值的字串太長而無法放入欄內,或者日期時間值太小而不能指定給主變數。
22002 空值,或偵測到缺少指示器參數;例如,空值不能指定給主變數,因為沒有指定指示器變數。
22003 數值超出範圍。
22007 偵測到無效的日期時間格式;亦即,指定了無效的字串表示法或值。
22008 發生日期時間欄位溢位;例如,對日期或時間戳記的算術運算結果不在日期的有效範圍內。
22011 發生子字串錯誤;例如,SUBSTR 的引數超出範圍。
22012 用零作除數無效。
22018 CAST、DECIMAL、FLOAT、或 INTEGER 純量函數的字元值無效。
22019 LIKE 搜尋比較項有無效的跳出字元。
22021 字元不在編碼字集中。
22024 以 NUL 終止的輸入主變數或參數並未包含 NUL。
22025 LIKE 搜尋比較項字串型樣包含跳出字元無效的出現。
2202D Null 案例用來轉變的方法。
22501 可變長度字串的長度控制欄位為負值或大於最大值。
22504 混合資料值無效。
22506 因為 TOD 同步鐘功能失常或作業系統時區參數超出範圍,所以參照日期時間特殊暫存器無效。
22522 CCSID 值根本無效,對資料類型或子類型無效,或對本編碼計劃無效。

表 12. 類別碼 23:限制違規


SQLSTATE 值   含義
23001 RESTRICT 更新或刪除規則阻止更新或刪除原始關鍵欄位。
23502 插入或更新值為空值,但該欄不能包含空值。
23503 副相關欄位的插入或變更值無效。
23504 NO ACTION 更新或刪除規則阻止更新或刪除原始關鍵欄位。
23505 由唯一索引或唯一限制強制的限制,有違規發生。
23510 使用 RLST 表格所強加的命令時,發生了違反限制。
23511 不能刪除原始列,因為檢查限制限制此種刪除。
23512 不能新增檢查限制,因為表格包含不符限制定義的列。
23513 INSERT 或 UPDATE 的結果列,不符檢查限制定義。
23514 檢查資料處理發現限制違規。
23515 無法建立唯一索引或新增唯一限制,因為表格包含指定關鍵欄位的重複值。
23520 無法定義外來鍵,因為它所有的值都不等於母表格的母鍵。
23521 目錄表格的更新違反內部限制。

表 13. 類別碼 24:無效的 cursor 狀態


SQLSTATE 值   含義
24501 所識別的 cursor 未開啟。
24502 OPEN 陳述式中識別的 cursor 已經開啟。
24504 UPDATE、DELETE、SET 或 GET 陳述式中識別的 cursor 未放在一列上。
24506 PREPARE 中識別的陳述式是一開啟 cursor 的陳述式。
24514 先前的錯誤已停用這個 cursor。
24516 cursor 已指定為結果集。

表 14. 類別碼 25:無效的異動狀態


SQLSTATE 值   含義
25000 更新操作對於應用程式執行環境是無效的。
25501 陳述式只能作為工作單元中的第一個陳述式。

表 15. 類別碼 26:無效的 SQL 陳述式識別字


SQLSTATE 值   含義
26501 所識別的陳述式不存在。

表 16. 類別碼 28:無效的權限說明


SQLSTATE 值   含義
28000 權限名稱無效。

表 17. 類別碼 2D:無效的異動終止


SQLSTATE 值   含義
2D521 SQL COMMIT 或 ROLLBACK 在現行操作環境中是無效的。
2D528 動態 COMMIT 對於應用程式執行環境是無效的。
2D529 動態 ROLLBACK 對於應用程式執行環境是無效的。

表 18. 類別碼 2E:無效的連線名稱


SQLSTATE 值   含義
2E000 連線名稱無效。

表 19. 類別碼 34:無效的游標名稱


SQLSTATE 值   含義
34000 游標名稱無效。

表 20. 類別碼 38:外部功能例外狀況


SQLSTATE 值   含義
38xxx 由使用者定義功能、外部程序或觸發器傳回有效的錯誤 SQLSTATE。
38501 當呼叫使用者定義的函數、外部程序或起始動作定義 (使用 SIMPLE CALL 或 SIMPLE CALL WITH NULLS 呼叫慣例) 時,發生了錯誤。
38502 外部功能不能執行 SQL 陳述式。
38503 使用者定義功能已異常終止。
38504 使用者定義功能已被使用者岔斷,以阻止可能的迴路狀況。
38552 SYSFUN 架構(由 IBM 供應)中的功能已異常終止。

訊息本文中可以找到下列原因碼之一:

01
數值超出範圍
02
以零作除數
03
算術溢位或小數或負指數溢位
04
日期格式無效
05
時間格式無效
06
時間戳記格式無效
07
時間戳記期間的字元表示法無效
08
無效的間隔類型(必須是 1、2、4、8、16、32、64、128、256 之一)
09
字串太長
10
字串函數中的長度或位置超出範圍
11
浮點數的字元表示法無效

表 21. 類別碼 39:外部功能呼叫例外狀況


SQLSTATE 值   含義
39001 使用者定義功能傳回無效的 SQLSTATE。
39501 與引數關聯的 eye-catcher 已被修改。

表 22. 類別碼 40:異動 Roll back


SQLSTATE 值   含義
40001 自動回轉發生死結或逾時暫停。
40003 陳述式完成情況不明。
40504 系統錯誤造成工作單元 Roll back。
40506 已 Roll Back 現行異動,因為發生了一個 SQL 錯誤。

你可能感兴趣的:(sql,db2,IBM)