本節(jié)列示 SQLSTATE 及其含義。SQLSTATE 是按類代碼進行分組的;對于子代碼,請參閱相應的表。
表 2. SQLSTATE 類代碼 類
代碼
含義 要獲得子代碼,
參閱...
00 完全成功完成 表 3
01 警告 表 4
02 無數(shù)據(jù) 表 5
07 動態(tài) SQL 錯誤 表 6
08 連接異常 表 7
09 觸發(fā)操作異常 表 8
0A 功能部件不受支持 表 9
0D 目標類型規(guī)范無效 表 10
0F 無效標記 表 11
0K RESIGNAL 語句無效 表 12
0N SQL/XML 映射錯誤 表 13
20 找不到 CASE 語句的條件 表 15
21 基數(shù)違例 表 16
22 數(shù)據(jù)異常 表 17
23 約束違例 表 18
24 無效的游標狀態(tài) 表 19
25 無效的事務狀態(tài) 表 20
26 無效 SQL 語句標識 表 21
28 無效權限規(guī)范 表 23
2D 無效事務終止 表 24
2E 無效連接名稱 表 25
34 無效的游標名稱 表 26
36 游標靈敏度異常 表 27
38 外部函數(shù)異常 表 28
39 外部函數(shù)調(diào)用異常 表 29
3B SAVEPOINT 無效 表 30
40 事務回滾 表 31
42 語法錯誤或訪問規(guī)則違例 表 32
44 WITH CHECK OPTION 違例 表 33
46 Java DDL 表 34
51 無效應用程序狀態(tài) 表 35
53 無效操作數(shù)或不一致的規(guī)范 表 36
54 超出 SQL 限制,或超出產(chǎn)品限制 表 37
55 對象不處于先決條件狀態(tài) 表 38
56 其他 SQL 或產(chǎn)品錯誤 表 39
57 資源不可用或操作員干預 表 40
58 系統(tǒng)錯誤 表 41
5U 實用程序 表 42
類代碼 00 完全成功完成
表 3. 類代碼 00:完全成功完成 SQLSTATE 值
含義
00000 操作執(zhí)行成功,并且未產(chǎn)生任何類型的警告或異常情況。
類代碼 01 警告
表 4. 類代碼 01:警告 SQLSTATE 值
含義
01002 發(fā)生 DISCONNECT 錯誤。
01003 從列函數(shù)的參數(shù)消去 NULL 值。
01004 字符串值在指定給具有較短長度的另一字符串數(shù)據(jù)類型時被截斷。
01005 SQLDA 中的條目數(shù)不夠。
01007 未授予特權。
0100C 從過程返回了一個或多個特殊結果集。
0100D 關閉的游標已在鏈中的下一個結果集上重新打開。
0100E 生成的過程大于允許的最大結果集數(shù)目。只有第一個整數(shù)結果集已經(jīng)返回到調(diào)用者。
01503 結果列數(shù)比提供的主機變量數(shù)大。
01504 UPDATE 或 DELETE 語句不包括 WHERE 子句。
01506 對 DATE 或 TIMESTAMP 值進行了調(diào)整,以更正算術運算得出的無效日期。
01509 由于用戶虛擬機中的存儲器不夠,取消游標的分塊。
01515 已為主機變量指定了一個空值,因為列的非空值不在主機變量的范圍之內(nèi)。
01516 已忽略不可用的 WITH GRANT OPTION。
01517 用替代字符替換不能轉換的字符。
01519 已為主機變量指定了一個空值,因為數(shù)字值超出范圍。
01524 列函數(shù)的結果不包括由算術表達式求值得出的空值。
01526 隔離級別已升級。
01527 SET 語句引用的專用寄存器在 AS 上不存在。
01539 連接成功但只應使用 SBCS 字符。
01543 已忽略重復約束。
01545 未限定列名已解釋為相關引用。
01550 索引未創(chuàng)建,因為具有指定描述的索引已經(jīng)存在。
01560 忽略了一個冗余的 GRANT。
01562 在數(shù)據(jù)庫配置文件中的新日志路徑(newlogpth)無效。
01563 日志文件的當前路徑(logpath)無效。日志文件路徑被復位為缺省值。
01564 已為主機變量指定了空值,因為發(fā)生了被零除的錯誤。
01586 該語句導致一個或多個表自動置于設置完整性暫掛狀態(tài)。
01589 語句包含有冗余規(guī)范。
01592 在引用 SOURCE 函數(shù)的 CREATE FUNCTION 語句中,或:
輸入?yún)?shù)的長度、精度或小數(shù)位大于源函數(shù)相應參數(shù)的長度、精度或小數(shù)位;或
RETURNS 或 CAST FROM 參數(shù)的長度、精度或小數(shù)位比源函數(shù)的小;或
CREATE FUNCTION 語句中的 CAST FROM 參數(shù)的長度、精度或小數(shù)位比 RETURNS 參數(shù)的大。
運行時可能發(fā)生截斷(那時可能會引起錯誤)。
01594 對于所有信息,SQLDA 內(nèi)的條目數(shù)不夠多(即,沒有足夠的描述符返回相異名稱)。
01595 該視圖已替換現(xiàn)有無效視圖。
01596 沒有為基于長字符串數(shù)據(jù)類型的單值類型創(chuàng)建比較函數(shù)。
01598 嘗試激活活動的事件監(jiān)視器,或嘗試釋放不活動的事件監(jiān)視器。
01599 忽略 REBIND 上的綁定選項。
01602 優(yōu)化級別已降低。
01603 CHECK DATA 處理過程中發(fā)現(xiàn)約束違例,已將其移至異常表。
01604 已經(jīng)說明了 SQL 語句,但是未執(zhí)行它。
01605 遞歸公共表表達式可能包含無限循環(huán)。
01606 節(jié)點或系統(tǒng)數(shù)據(jù)庫目錄是空的。
01607 只讀事務中節(jié)點的時間差超過定義的閾值。
01608 已經(jīng)替換了不受支持的值。
01609 生成的過程大于允許的最大結果集數(shù)目。只有第一個整數(shù)結果集已經(jīng)返回到調(diào)用者。
01610 從過程返回了一個或多個特殊結果集。
01611 關閉的游標已在鏈中的下一個結果集上重新打開。
01614 定位器數(shù)小于結果集數(shù)。
01616 估計的 CPU 成本超出了資源限制。
01618 重新分發(fā)節(jié)點組是更改數(shù)據(jù)庫分區(qū)所必需的。
01620 UNION ALL 的某些基本表可能是同一個表。
01621 檢索到的 LOB 值可能已更改。
01622 語句成功完成,但在語句完成之后發(fā)生了系統(tǒng)錯誤。
01623 忽略 DEGREE 的值。
01625 模式名在 CURRENT PATH 中出現(xiàn)了多次。
01626 數(shù)據(jù)庫只有一個活動的緩沖池。
01627 DATALINK 值可能無效,因為該表處理協(xié)調(diào)暫掛或協(xié)調(diào)不可能的狀態(tài)。
01632 并發(fā)連接數(shù)超出了該產(chǎn)品的定義授權。
01633 可能不能使用具體化查詢表來優(yōu)化查詢的處理。
01636 數(shù)據(jù)庫管理器一直未驗證非增量數(shù)據(jù)的完整性。
01637 未啟用調(diào)試。
01639 聯(lián)合對象可能需要調(diào)用程序具有對數(shù)據(jù)源對象的必要特權。
01641 Datalink 類型屬性限制結構化類型的使用。
01642 對于最大的可能 USER 缺省值,列不足夠長。
01643 對 SQL 例程中 SQLSTATE 或 SQLCODE 變量的賦值可能會被覆蓋,不會激活任何處理程序。
01645 SQL 過程的可執(zhí)行文件未保存在數(shù)據(jù)庫目錄中。
01648 忽略了 COMPRESS 列屬性,因為對表取消激活了 VALUE COMPRESSION。
01649 緩沖池操作已經(jīng)完成,但是直到下一次數(shù)據(jù)庫重新啟動才會生效。
01650 索引和表統(tǒng)計信息不一致。
01651 成功激活了事件監(jiān)視器,但是某些監(jiān)視信息可能丟失了。
01652 由于語句上下文而忽略了隔離子句。
01653 權限授予給 USER。因為權限名稱大于 8 字節(jié),所以不考慮組。
01654 未啟動緩沖池。
01655 成功創(chuàng)建了事件監(jiān)視器,但是至少有一個事件監(jiān)視器目標表已存在。
01657 緩沖池操作在下一次數(shù)據(jù)庫重新啟動之后才會生效。
01665 列名或參數(shù)名被截斷。
01667 可能不能使用視圖來優(yōu)化查詢的處理。
01669 由于遠程目錄與本地目錄之間的模式不一致,因此,未徹底更新指定昵稱的統(tǒng)計信息。
01670 對新表來說,不存在缺省主表空間。
01671 高速緩存的語句的環(huán)境與當前環(huán)境不同。將使用當前環(huán)境來重新優(yōu)化指定的語句。
01674 表空間屬性對于查詢性能不是最佳的。
01675 指定的表空間數(shù)超過了需要的表空間數(shù)。多余的表空間將被忽略。
01676 忽略了傳送操作,因為授權標識已經(jīng)是數(shù)據(jù)庫對象的所有者。
01677 對于已經(jīng)定義了插件的服務器忽略了包裝器選項。
01678 對用戶映射的更改只應用于聯(lián)合目錄表,而不應用于外部用戶映射存儲庫。
01679 無法為指定的授權標識建立可信連接。
01684 不支持指定的語言環(huán)境。返回的消息使用的是英語語言環(huán)境。
01686 表空間正在從 REGULAR 轉換為 LARGE。必須對此表空間中的表的索引進行重組或重建,以便支持大型 RID。
01689 在未連接到數(shù)據(jù)源的情況下完成了 SQL 編譯。
0168A 在數(shù)據(jù)源上找不到源過程的程序包主體,或者它無效。
01H51 “MQSeries 應用程序消息傳遞接口”消息被截斷。
01H52 例程的執(zhí)行已完成,但是執(zhí)行期間至少遇到了一個錯誤或警告。提供了更多信息。
01H53 例程遇到了警告。參閱 SQLCODE 以獲取詳細信息。
01HXX 由用戶定義的函數(shù)或外部過程 CALL 返回了有效警告 SQLSTAE。
類代碼 02 無數(shù)據(jù)
表 5. 類代碼 02:無數(shù)據(jù) SQLSTATE 值
含義
02000 發(fā)生下述異常之一:
SELECT INTO 語句或 INSERT 語句的子查詢的結果為空表。
在搜索的 UPDATE 或 DELETE 語句內(nèi)標識的行數(shù)為零。
在 FETCH 語句中引用的游標位置處于結果表最后一行之后。
02501 游標位置對于當前行的 FETCH 無效。
02502 檢測到刪除或更新孔
02506 遇到了錯誤,并且已按 RETURN DATA UNTIL 子句指定那樣容許它。
類代碼 07 動態(tài) SQL 錯誤
表 6. 類代碼 07:動態(tài) SQL 錯誤 SQLSTATE 值
含義
07001 對于參數(shù)標記的數(shù)目來說,主機變量的數(shù)目不正確。
07002 調(diào)用參數(shù)列表或控制塊無效。
07003 在 EXECUTE 語句內(nèi)標識的語句是一條 select 語句,或未處于已預編譯狀態(tài)。
07004 動態(tài)參數(shù)需要 USING 子句或 INTO 子句。
07005 游標的語句名標識的是一個不能與游標關聯(lián)的已預編譯語句。
07006 由于其數(shù)據(jù)類型的緣故不能使用某輸入主機變量。
類代碼 08 連接異常
表 7. 類代碼 08:連接異常 SQLSTATE 值
含義
08001 應用程序請求器不能建立連接。
08002 連接已存在。
08003 連接不存在。
08004 應用程序服務器拒絕了建立連接。
08007 事務解析未知。
08502 用 TWOPHASE 的 SYNCPOINT 運行的應用程序進程發(fā)出的 CONNECT 語句無效,因為無事務管理器可用。
08504 當處理指定的路徑重命名配置文件時遇到錯誤。
類代碼 09 觸發(fā)操作異常
表 8. 類代碼 09:觸發(fā)操作異常 SQLSTATE 值
含義
09000 觸發(fā) SQL 語句失敗。
類代碼 0A 不支持功能部件
表 9. 類代碼 0A:不支持功能部件 SQLSTATE 值
含義
0A001 CONNECT 語句無效,因為進程不處于可連接狀態(tài)。
0A502 未對此數(shù)據(jù)庫實例啟用操作。
0A503 由于潛在的數(shù)據(jù)不一致,不能編譯聯(lián)合插入、更新或刪除操作。
類代碼 0D 目標類型規(guī)范無效
表 10. 類代碼 0D:目標類型規(guī)范無效 SQLSTATE 值
含義
0D000 目標結構化數(shù)據(jù)類型規(guī)范是源結構化數(shù)據(jù)類型的正確子類型。
類代碼 0F 無效標記
表 11. 類代碼 OF:無效標記 SQLSTATE 值
含義
0F001 LOB 標記變量當前不表示任何值。
類代碼 0K RESIGNAL 語句無效
表 12. 類代碼 0K:RESIGNAL 語句無效 SQLSTATE 值
含義
0K000 RESIGNAL 語句不在處理程序中。
類代碼 0N SQL/XML 映射錯誤
表 13. 類代碼 0N:SQL/XML 映射錯誤 SQLSTATE 值
含義
0N002 無法將字符映射至有效 XML 字符。
類代碼 10 XQuery 錯誤
表 14. 類代碼 10:XQuery 錯誤 SQLSTATE 值
含義
10000 XQuery 錯誤。
10501 XQuery 表達式缺少靜態(tài)或動態(tài)上下文組件的指定。
10502 在 XQuery 表達式的序言中遇到了錯誤。
10503 在 XQuery 或 XPath 表達式中定義了重復的名稱。
10504 在無效 URI 中指定了 XQuery 名稱空間聲明。
10505 字符、標記或子句在 XQuery 表達式中缺少了或者無效。
10506 XQuery 表達式引用了一個未定義的名稱。
10507 處理 XPath 或 XQuery 表達式時遇到了類型錯誤。
10508 XQuery 表達式在已計算的構造函數(shù)中包括一個無效的名稱表達式。
10509 指定了不受支持的 XQuery 語言功能部件。
10510 未指定字符串文字作為強制類型轉換表達式操作數(shù)或構造函數(shù)參數(shù)。
10601 在處理 XQuery 函數(shù)或運算符時遇到了算術錯誤。
10602 在處理 XQuery 函數(shù)或運算符時遇到了數(shù)據(jù)類型轉換錯誤。
10603 在處理 XQuery 函數(shù)或運算符時遇到了字符處理錯誤。
10604 未提供文檔上下文來處理 XQuery 函數(shù)。
10605 在處理 XQuery 函數(shù)或運算符時遇到了日期時間錯誤。
10606 沒有上下文項用來處理 XQuery 函數(shù)或運算符。
10607 在處理 XQuery 函數(shù)或運算符時遇到了名稱空間錯誤。
10608 在 XQuery 函數(shù)或運算符的參數(shù)中遇到了錯誤。
10609 在處理 XQuery 函數(shù)或運算符時遇到了正則表達式錯誤。
10610 在處理 XQuery 函數(shù)或運算符時遇到了類型錯誤。
10611 在處理 XQuery 函數(shù)或運算符時遇到了未標識的錯誤。
10901 XQuery 原子值超出了 DB2 XQuery 數(shù)據(jù)類型的范圍。
10902 XQuery 原子值超過了 DB2 XQuery 運算符或函數(shù)的長度限制。
10903 已超過相匹配的 XQuery 節(jié)點數(shù)的內(nèi)部限制。
類代碼 20 找不到 CASE 語句的條件
表 15. 類代碼 20:找不到 Case 語句的條件 SQLSTATE 值
含義
20000 找不到 CASE 語句的條件。
類代碼 21 基數(shù)違例
表 16. 類代碼 21:基數(shù)違例 SQLSTATE 值
含義
21000 SELECT INTO 的結果是一個多行的結果表,或者,基本謂詞的子查詢結果為多個值。
21501 對自引用表進行多行 INSERT 是無效的。
21502 主鍵的多行 UPDATE 是無效的。
21504 從刪除規(guī)則為 RESTRICT 或 SET NULL 的自引用表進行多行 DELETE 是無效的。
21505 行函數(shù)返回的內(nèi)容不能超過一行。
21506 表的同一行不能是多個更新、刪除或插入操作的目標。
類代碼 22 數(shù)據(jù)異常
表 17. 類代碼22:數(shù)據(jù)異常 SQLSTATE 值
含義
22001 字符數(shù)據(jù),發(fā)生右截斷;例如,更新或插入值對于列來說太長(字符串),或者日期時間值由于太小而不能賦給主機變量。
22002 檢測到空值或缺少指示符參數(shù);例如,不能將空值賦給主機變量,因為沒有指定指示符變量。
22003 數(shù)值超出范圍。
22004 不能從定義為 PARAMETER STYLE GENERAL 的過程或者從用非空參數(shù)調(diào)用的類型保留方法中返回空值。
22007 檢測到無效的日期時間格式;即指定了無效的字符串表示法或值。
22008 發(fā)生日期時間字段溢出;例如,對日期或時間戳記算術運算的結果不在有效日期范圍之內(nèi)。
2200G 大多數(shù)特定類型都不匹配。
2200L XML 值不是具有單個根元素的結構良好的文檔。
2200M 未能將值作為結構良好的 XML 文檔進行解析或者根據(jù) XML 模式來驗證該值。
2200S XML 注釋無效。
2200T XML 處理指令無效。
2200W XML 值包含未能序列化的數(shù)據(jù)。
22011 發(fā)生子字符串錯誤;例如,SUBSTR 的參數(shù)超出范圍。
22012 用零作除數(shù)是無效的。
22018 對于 CAST、DECIMAL、FLOAT、或 INTEGER 標量函數(shù),字符值是無效的。
22019 LIKE 謂詞有無效轉義字符。
22021 某字符不在編碼字符集中。
22024 以 NUL 結束的輸入主機變量或參數(shù)不包含 NUL。
22025 LIKE 謂詞字符串模式包含無效的轉義字符。
2202D 配合 mutator 方法使用了空實例。
2202H 在 TABLESAMPLE 子句中指定的樣本大小無效。
22501 變長字符串的長度控制字段為負值或大于最大值。
22504 混合數(shù)據(jù)值是無效的。
22506 對日期時間專用寄存器的引用無效,因為 TOD 時鐘發(fā)生故障或操作系統(tǒng)時區(qū)參數(shù)超出范圍。
22522 CCSID 值根本無效,對數(shù)據(jù)類型或子類型無效,或對編碼方案無效。
22525 數(shù)據(jù)分區(qū)鍵值無效。
22526 鍵變換函數(shù)沒有生成任何行或生成了重復的行。
22527 對多行 INSERT 操作檢測到了無效的輸入數(shù)據(jù)。
22532 在 XML 模式存儲庫中未找到 XSROBJECT。
22533 在 XML 模式存儲庫中未找到唯一的 XSROBJECT。
22534 XML 模式文檔未通過使用包括或重新定義而連接至其他 XML 模式文檔。
22535 XML 模式未聲明指定的全局元素。
22536 XML 值不包含必需的根元素。
225D1 未啟用指定的 XML 模式以進行分解。
225D2 在分解 XML 文檔期間發(fā)生了 SQL 錯誤。
225D3 分解 XML 文檔時遇到了對于 XML 模式類型無效的值。
225D4 分解 XML 文檔時遇到了對于目標 SQL 類型無效的值。
225D5 分解 XML 文檔時遇到了上下文中未知或無效的 XML 節(jié)點。
225D6 指定的 XML 模式需要遷移到當前版本以支持分解。
225D7 分解 XML 文檔時遇到了一個根元素,該根元素不是 XML 模式中的復雜類型的全局元素。
225DE 無法啟用 XML 模式以進行分解。
類代碼 23 約束違例
表 18. 類代碼 23:約束違例 SQLSTATE 值
含義
23001 RESTRICT 更新或刪除規(guī)則防止父鍵被更新或刪除。
23502 插入或更新值為空,但該列不能包含空值。
23503 外鍵的插入或更新值無效。
23504 NO ACTION 更新或刪除規(guī)則防止父鍵被更新或刪除。
23505 發(fā)生由唯一索引或唯一約束強加的約束違例。
23510 使用由 RLST 表強加的命令時發(fā)生約束違例。
23511 不能刪除父行,因為檢查約束限制該刪除。
23512 不能添加檢查約束,因為該表含有不滿足約束定義的行。
23513 INSERT 或 UPDATE 的結果行不符合檢查約束定義。
23514 檢查數(shù)據(jù)處理中發(fā)現(xiàn)約束違例。
23515 未能創(chuàng)建唯一索引,或者不能添加唯一約束,因為該表包含指定鍵的重復值。
23520 不能定義外鍵,因為其所有的值都不同于父表的父鍵。
23521 對目錄表的更新違反了內(nèi)部約束。
23522 標識列值的范圍或者序列用完。
23523 已經(jīng)為安全標號列提供了無效值。
23524 UNION ALL 視圖內(nèi)的無效行移動。
23525 未能插入或更新 XML 值,這是因為在插入或更新 XML 列的索引期間檢測到錯誤。
23526 未能創(chuàng)建 XML 列的索引,因為在將 XML 值插入到索引中時檢測到錯誤。
類代碼 24 無效的游標狀態(tài)
表 19. 類代碼 24:無效的游標狀態(tài) SQLSTATE 值
含義
24501 標識的游標未打開。
24502 在 OPEN 語句中標識的游標已經(jīng)打開。
24504 在 UPDATE、DELETE、SET 或 GET 語句中標識的游標未定位在行上。
24506 在 PREPARE 中標識的語句是一個打開游標語句。
24510 對一個刪除孔或更新孔嘗試了
UPDATE 或 DELETE 操作。
24512 結果表與基本表不一致。
24513 不允許 FETCH NEXT、PRIOR、CURRENT 或 RELATIVE,原因是游標位置未知。
24514 先前的錯誤已禁用此游標。
24516 已對結果集指定了一個游標。
24517 外部函數(shù)或方法將游標保持為打開。
類代碼 25 無效的事務狀態(tài)
表 20. 類代碼 25:無效的事務狀態(tài) SQLSTATE 值
含義
25000 插入、更新或刪除操作在指定它的上下文中無效。
25001 該語句只允許作為工作單元的第一條語句。
25501 該語句只允許作為工作單元的第一條語句。
25502 操作在單個事務中不能多次出現(xiàn)。
類代碼 26 無效 SQL 語句標識
表 21. 類代碼 26:無效 SQL 語句標識 SQLSTATE 值
含義
26501 標識的語句不存在。
類代碼 27 觸發(fā)的數(shù)據(jù)更改違例
表 22. 類代碼 27:觸發(fā)的數(shù)據(jù)更改違例 SQLSTATE 值 含義
27000 試圖在同一 SQL 語句中多次更改同一個表中的同一行。
類代碼 28 無效權限規(guī)范
表 23. 類代碼 28:無效權限規(guī)范 SQLSTATE 值
含義
28000 權限名稱無效。
類代碼 2D 無效事務終止
表 24. 類代碼 2D:無效事務終止 SQLSTATE 值
含義
2D521 SQL COMMIT 或 ROLLBACK 在當前操作環(huán)境中無效。
2D522 ATOMIC 復合語句中不允許 COMMIT 和 ROLLBACK。
2D528 動態(tài) COMMIT 對于應用程序執(zhí)行環(huán)境無效。
2D529 動態(tài) ROLLBACK 對于應用程序執(zhí)行環(huán)境無效。
類代碼 2E 無效連接名稱
表 25. 類代碼 2E:無效連接名稱 SQLSTATE 值
含義
2E000 連接名稱無效。
類代碼 34 無效的游標名稱
表 26. 類代碼 34:無效的游標名稱 SQLSTATE 值
含義
34000 游標名無效。
類代碼 36 無效游標規(guī)范
表 27. 類代碼 36:無效游標規(guī)范 SQLSTATE 值
含義
36001 不能為指定的 SELECT 語句定義敏感游標。
類代碼 38 外部函數(shù)異常
表 28. 類代碼 38:外部函數(shù)異常 SQLSTATE 值
含義
38XXX 外部例程或觸發(fā)器返回有效錯誤 SQLSTATE。
38001 不允許外部例程執(zhí)行 SQL 語句。
38002 例程嘗試修改數(shù)據(jù),但例程未定義為 MODIFIES SQL DATA。
38003 例程中不允許該語句。
38004 例程嘗試讀取數(shù)據(jù),但例程未定義為 READS SQL DATA。
38501 (使用 SIMPLE CALL 或 SIMPLE CALL WITH NULLS 調(diào)用約定)調(diào)用用戶定義的函數(shù)、外部過程或觸發(fā)器時出錯。
38502 不允許外部函數(shù)執(zhí)行 SQL 語句。
38503 用戶定義的函數(shù)異常終止(abend)。
38504 用戶定義的函數(shù)已被用戶中斷,以停止可能的循環(huán)條件。
38505 FINAL CALL 上的例程中不允許 SQL 語句。
38506 函數(shù)因來自 OLE DB 提供程序的錯誤而失敗。
38552 SYSFUN 模式(由 IBM 提供)中的函數(shù)已異常終止。
可以在消息正文中找到下列原因碼之一:
01
數(shù)值超出范圍
02
被零除
03
算術溢出或下溢
04
日期格式無效
05
時間格式無效
06
時間戳記格式無效
07
時間戳記持續(xù)時間的字符表示法無效
08
時間間隔類型無效(必須是 1、2、4、8、16、32、64、128、256 之一)
09
字符串太長
10
字符串函數(shù)中的長度或位置超出范圍
11
浮點數(shù)的字符表示法無效
38553 系統(tǒng)模式中的例程已因錯誤而終止。
38H01 MQSeries 函數(shù)未能初始化。
38H02 MQSeries 的“應用程序消息傳遞接口”未能終止會話。
38H03 MQSeries 的“應用程序消息傳遞接口”未能正確地處理消息。
38H04 MQSeries 的“應用程序消息傳遞接口”未能發(fā)送消息。
38H05 MQSeries 的“應用程序消息傳遞接口”未能讀取/接收消息。
38H06 MQSeries 的“應用程序消息傳遞接口”預訂(不預訂)請求失敗。
38H07 MQSeries 的“應用程序消息傳遞接口”未能落實工作單元。
38H08 MQSeries 的“應用程序消息傳遞接口”策略錯誤。
38H09 MQSeries XA(兩階段落實)API 調(diào)用錯誤。
38H0A MQSeries 的“應用程序消息傳遞接口”未能回滾工作單元。
類代碼 39 外部函數(shù)調(diào)用異常
表 29. 類代碼 39:外部函數(shù)調(diào)用異常 SQLSTATE 值
含義
39001 用戶定義的函數(shù)已返回無效 SQLSTATE。
39004 不允許 IN 或 INOUT 參數(shù)為空值。
39501 與參數(shù)相關聯(lián)的 eye-catcher(引人注目的事物)已被修改。
類代碼 3B SAVEPOINT 無效
表 30. 類代碼 3B:SAVEPOINT 無效 SQLSTATE 值
含義
3B001 保存點無效。
3B002 已經(jīng)達到最大保存點數(shù)目。
3B501 檢測到重復的保存點名。
3B502 指定了 RELEASE 或 ROLLBACK TO SAVEPOINT,但是保存點不存在。
3B503 在觸發(fā)器或全局事務中不允許 SAVEPOINT、 RELEASE SAVEPOINT 或 ROLLBACK TO SAVEPOINT。
類代碼 40 事務回滾
表 31. 類代碼 40:事務回滾 SQLSTATE 值
含義
40001 發(fā)生了伴隨自動回滾的超時或死鎖。
40003 語句完整性未知。
40504 由于系統(tǒng)錯誤導致工作單元被回滾。
40506 由于 SQL 錯誤,當前事務已回滾。
40507 由于創(chuàng)建索引時發(fā)生故障,因此當前事務已回滾。
類代碼 42 語法錯誤或訪問規(guī)則違例
表 32. 類代碼 42:語法錯誤或訪問規(guī)則違例 SQLSTATE 值
含義
42501 授權標識不具有對標識對象執(zhí)行指定操作的特權。
42502 授權標識不具有執(zhí)行指定操作的特權。
42504 無法從指定的權限名撤銷指定的特權、安全標號或免除憑證。
42506 發(fā)生所有者授權失敗。
42508 不能將指定的數(shù)據(jù)庫特權授予 PUBLIC。
42509 因為 STATICRULES 選項而未授權 SQL 語句。
42511 未能檢索 DATALINK 值。
42512 授權標識對受保護列沒有訪問權。
42514 授權標識不具有對象的所有權需要的特權。
42516 用戶映射存儲庫中的認證失敗。
42519 不允許此授權標識對受保護表執(zhí)行操作。
42520 由于此授權標識沒有安全標號,所以無法執(zhí)行內(nèi)置函數(shù)。
42521 無法將權限或特權授予指定的授權標識。
42522 此授權標識沒有憑證,因此無法保護列或者對該列除去保護。
42601 字符、標記或子句無效或丟失。
42602 檢測到名稱中有無效字符。
42603 檢測到未終止的字符串常量。
42604 檢測到無效數(shù)字或字符串常量。
42605 為標量函數(shù)指定的參數(shù)的數(shù)目無效。
42606 檢測到無效十六進制常數(shù)。
42607 列函數(shù)的操作數(shù)無效。
42608 在 VALUES 中使用 NULL 或 DEFAULT 是無效的。
42609 運算符或謂詞的所有操作數(shù)都是參數(shù)標記。
42610 不允許參數(shù)標記。
42611 列或參數(shù)定義無效。
42612 語句字符串是一條 SQL 語句,它在它所出現(xiàn)的上下文中是不可接受的。
42613 子句互斥。
42614 重復關鍵字無效。
42615 檢測到無效備用項。
42616 指定了無效的選項。
42617 語句字符串是空白或空的。
42618 不允許主機變量。
42620 對 UPDATE 子句指定了只讀 SCROLL。
42621 檢查約束無效。
42622 名稱或標號太長。
42623 不能指定 DEFAULT 子句。
42625 CASE 表達式無效。
42627 必須在使用 EXPRESSION AS 子句的謂詞規(guī)范之前指定 RETURNS 子句。
42628 在變換定義中多次定義了 TO SQL 或 FROM SQL 變換函數(shù)。
42629 必須為 SQL 例程指定參數(shù)名。
42630 在嵌套復合語句中不能存在 SQLSTATE 或 SQLCODE 變量聲明。
42631 SQL 函數(shù)或方法中的 RETURN 語句必須包括返回值。
42633 XMLATTRIBUTES 或 XMLFOREST 的參數(shù)需要 AS 子句。
42634 XML 名稱無效。
42635 XML 名稱空間前綴無效。
42636 缺少 BY REF 子句,或者不正確使用了該子句。
42637 無法在 DECLARE CURSOR 語句中指定 XQuery 表達式。
42701 在插入或更新操作或 SET 轉換變量語句中檢測到重復列名。
42702 由于名稱重復,列引用有歧義。
42703 檢測到一個未定義的列、屬性或參數(shù)名。
42704 檢測到未定義的對象或約束名。
42705 檢測到未定義的服務器名。
42707 ORDER BY 內(nèi)的列名不標識結果表中的列。
42709 在鍵列列表中指定了重復的列名。
42710 檢測到重復的對象或約束名。
42711 在對象定義或 ALTER 語句中檢測到重復列名或屬性名。
42712 在 FROM 子句中檢測到重復的表標志符。
42713 在對象列表中檢測到重復對象。
42720 在節(jié)點目錄內(nèi)未找到遠程數(shù)據(jù)庫的節(jié)點名。
42723 模式中已經(jīng)存在帶有相同特征符的函數(shù)。
42724 不能訪問用于用戶定義的函數(shù)或過程的外部程序。
42725 直接引用了例程(不是通過特征符或者通過特定實例名進行引用),但是該例程有多個特定實例。
42726 檢測到指定的派生表的名稱重復。
42727 對新表來說,不存在缺省主表空間。
42728 在節(jié)點組定義中檢測到重復節(jié)點。
42729 節(jié)點未定義。
42730 容器名已由另一表空間使用。
42731 容器名已由該表空間使用。
42732 在 SET CURRENT PATH 語句中檢測到重復的模式名。
42734 檢測到重復的參數(shù)名、SQL 變量名、游標名、條件名或標號。
42735 對緩沖池,未定義表空間的節(jié)點組。
42736 在 LEAVE 語句上指定的標號找不到或無效。
42737 未定義在處理程序中指定的條件。
42738 在 FOR 語句的 DECLARE CURSOR 語句中指定了重復的列名或未命名的列。
42739 檢測到重復的變換。
42740 未找到指定類型的變換。未刪除任何變換。
42741 未對數(shù)據(jù)類型定義變換組。
42742 類型表或帶類型視圖層次結構中已存在同類子表或子視圖。
42743 在索引擴展名中未找到搜索方法。
42744 在變換組中未定義 TO SQL 或 FROM SQL 變換函數(shù)。
42745 例程將用現(xiàn)有方法定義覆蓋關系。
42746 在同一類型層次結構中,方法名不能與結構化類型名相同。
42748 存儲路徑對于數(shù)據(jù)庫來說已存在或者被指定了多次。
42749 對于 XML 模式來說,已經(jīng)存在具有相同目標名稱空間和模式位置的 XML 模式文檔。
4274A 在 XML 模式存儲庫中未找到 XSROBJECT。
4274B 在 XML 模式存儲庫中未找到唯一的 XSROBJECT。
4274F 在安全標號組件中未定義組件元素。
4274G 在給定安全標號所使用的安全標號策略中未定義安全標號組件。
4274H 指定的安全策略不存在指定的訪問規(guī)則。
4274I 指定的安全策略不存在安全標號。
4274J 數(shù)據(jù)庫分區(qū)組已被此緩沖池使用。
42802 插入或更新值的數(shù)目與列數(shù)不相同。
42803 在 SELECT 或 HAVING 子句中的列引用無效,因為它不是分組列;或者在 GROUP BY 子句中的列引用無效。
42804 CASE 表達式中的結果表達式不兼容。
42805 ORDER BY 子句中的整數(shù)不標識結果表中的列。
42806 不能將某值賦予某主機變量, 因為數(shù)據(jù)類型不兼容。
42807 對該對象不允許執(zhí)行 INSERT、UPDATE 或 DELETE。
42808 插入或更新操作中標識的列不可更新。
42809 標識的對象不是語句所應用的對象類型。
42810 FOREIGN KEY 子句中沒有標識基本表。
42811 指定的列數(shù)與 SELECT 子句中的列數(shù)不相同。
42813 WITH CHECK OPTION 不能用于指定的視圖。
42814 無法刪除該列,因為它是表中唯一的列。
42815 數(shù)據(jù)類型、長度、小數(shù)位、值或 CCSID 無效。
42816 表達式中的日期時間值或持續(xù)時間無效。
42817 由于某個視圖或約束依賴于該列,并且指定了 RESTRICT,或者由于該列包含在分區(qū)鍵中,或者由于該列是安全標號列,所以無法刪除該列。