SQLSTATE值和常见错误代码

Db2 当它作为应用程序服务器或请求者工作时,会产生SQLSTATE值。

SQLSTATE值基于以下标准中的SQLSTATE规范: ISO/IEC 9075:1992、数据库语言SQLANSI X3.135-1992 数据库语言SQL

SQLSTATE值在SQLCA的最后五个字节中返回给应用程序。 每个5个字符的值都是一个返回代码,用于指示最近执行的SQL语句的结果。

SQLSTATE值的设置是为了让应用程序能够测试特定的错误或错误类别。 SQLSTATE值的第一个字符表示SQL语句执行成功还是失败(分别等于或等于零)。

SQLSTATE值由一个双字符类代码值和其后一个三字符子类代码值组成。 类别代码值表示成功和不成功执行条件的类别。 应用程序可以定义以“7”到“9”或“I”到“Z”开头的类别,以及以“I”到“Z”开头的任何类别的子类别。

表1 列出了SQLSTATE类代码。 下面的表格描述了每个类别代码的子代码。

Java程序的SQLSTATE值 :有关46600至 466ZZ 范围内的SQLSTATE值的信息,请参阅 IBM Data Server Driver for JDBC and SQLJ 发布的SQLSTATEs
表 1. SQLSTATE 类代码
类代码 含义 子代码
00 完全成功完成 表 2
01 警告 表3
02 无数据 表4
07 动态 SQL 错误 表5
08 连接异常 表6
09 触发操作异常 表7
0A 功能部件不受支持 表8
0F 标记无效 表9
0K 当处理程序未激活时,重新发送信号 表10
0N SQL/XML 映射错误 表11
10 XQuery错误 表12
20 找不到 CASE 语句的条件 表13
21 基数违例 表14
22 数据异常 表15
23 约束违例 表16
24 无效游标状态 表17
25 无效事务状态 表18
26 无效 SQL 语句标识 表19
2D 无效事务终止 表20
34 无效游标名 表21
35 无效条件编号 表22
36 游标灵敏度异常 表23
38 外部函数异常 表24
39 外部函数调用异常 表25
3B 保存点异常 表26
3C 模糊光标名称 表27
40 事务回滚 表28
42 语法错误或访问规则违例 表29
44 WITH CHECK OPTION 违例 表30
46 Java错误 表31
51 无效应用程序状态 表32
53 无效操作数或不一致的规范 表33
54 超出 SQL 限制,或超出产品限制 表34
55 对象不处于先决条件状态 表35
56 其他 SQL 或产品错误 表36
57 资源不可用或操作员干预 表37
58 系统错误 表38
5UA 常用工具和软件 表39
表 2. 类代码 00:完全成功完成
SQLSTATE 值 含义
00000 操作执行成功,并且未产生任何类型的警告或异常情况。
表 3. 类代码 01:警告
SQLSTATE 值 含义
01xxx SQL程序或用户应用程序返回的有效警告SQL状态。 也用于RAISE_ERROR和SIGNAL。
01003 从聚合函数的参数中删除了空值。
01004 字符串值在指定给具有较短长度的另一字符串数据类型时被截断。
01005 SQLDA 中的条目数不够。
0100C 从过程返回了一个或多个特殊结果集。
0100E 该程序返回的结果集过多。
01011 路径值已被截断。
01503 结果列的数量大于提供的变量数量。
01504 UPDATE 或 DELETE 语句不包括 WHERE 子句。
01505 该声明未被执行,因为在此环境下无法接受。
01506 对 DATE 或 TIMESTAMP 值进行了调整,以更正算术运算得出的无效日期。
01507 在用作乘法或除法运算操作数的数字的小数部分中,有一个或多个非零数字被舍去。
01514 表格空间已置于待检查状态。
01515 变量被赋值为空值,因为列的非空值不在变量的范围内。
01516 已忽略不可用的 WITH GRANT OPTION。
01517 用替代字符替换不能转换的字符。
01519 由于数字值超出范围,因此对变量赋予了空值。
01520 因为字符无法转换,所以为变量赋值为空值。
01521 指定的服务器名称未定义,但在执行语句或使用别名之前不需要。
01522 CREATE ALIAS语句中使用的本地表或视图名称未定义。
01523 ALL被解释为排除ALTER、INDEX、REFERENCES和TRIGGER,因为这些权限不能授予远程用户。
01524 聚合函数的结果不包括因计算视图列中隐含的算术表达式而产生的空值。
01525 插入值的数量与列的数量不同。
01527 SET 语句引用的专用寄存器在 AS 上不存在。
01528 WHERE NOT NULL 被忽略,因为索引键不能包含空值。
01530 定义的更改可能需要在只读系统上进行相应的更改。
01532 检测到未定义的对象名称。
01533 检测到未定义的列名。
01537 SQL语句无法进行解释,因为它引用了远程对象。
01538 该表不能被定义为从属表,因为它具有最大列数。
01539 连接成功但只应使用 SBCS 字符。
01540 限制键已缩短为40字节。
01542 授权ID没有执行指定操作的权限。
01543 已忽略重复约束。
01545 未限定列名已解释为相关引用。
01546 解释表的某列定义不正确。
01548 授权标识不具有对标识对象执行指定操作的特权。
01551 分区表空间中的表不可用,因为尚未创建其分区索引。
01552 一个模棱两可的限定列名被解析为FROM子句中重复名称中的第一个。
01553 隔离级别RR与表空间锁大小页面冲突。
01554 十进制乘法可能会导致溢出。
01558 违反分发协议。
01560 忽略了一个多余的 GRANT。
01561 数据捕获表的更新未发送给原始子系统。
01565 由于发生了杂项数据异常,因此为变量分配了空值。 例如,CAST、DECIMAL、FLOAT或INTEGER标量函数的字符值无效;浮点NAN(非数字);打包十进制字段中的数据无效;或检测到掩码映射错误。
01566 该对象已被置于挂起状态。
01568 动态SQL语句以分号结尾。
01578 绑定过程检测到操作符的运算数不兼容。
01590 类型2索引没有子页面。
01591 UPDATE或DELETE操作的结果可能取决于行的顺序。
01594 对于所有信息,SQLDA 中的条目数不够(即,没有足够的描述符返回相异名称)。
01596 没有为基于长字符串数据类型的单值类型创建比较函数。
01597 存储组中不允许使用特定和非特定的卷ID。
01599 忽略 REBIND 上的绑定选项。
01600 目录索引更改时忽略的子页面。
01602 优化处理遇到限制,这可能已导致它生成欠佳的结果。
01604 已经说明了 SQL 语句,但是未执行。
01605 递归公共表表达式可能包含无限循环。
01608 已经替换了不受支持的值。
01614 定位器数小于结果集数。
01615 忽略了一个绑定选项。
01616 估计的 CPU 成本超出了资源限制。
01624 GBPCACHE规范被忽略,因为缓冲池不允许缓存。
01625 模式名在 CURRENT PATH 中出现了多次。
01628 用户指定的访问路径提示无效。 访问路径提示被忽略。
01629 在访问路径选择过程中使用了用户指定的访问路径提示。
01640 当存在无法回滚的未提交插入或删除操作时,会发生回滚到保存点。
01643 分配给SQLCODE或SQLSTATE变量不会发出警告或错误信号。
01644 定义 NO 不适用于使用 VCAT 选项的 lob 空间或数据集。
01656 回滚到保存点导致未记录的表空间被放置在LPL中。
01658 二进制数据对DECRYPT_CHAR和DECYRYPT_DB无效。
01659 非原子语句成功处理了所有请求的行,并附带一个或多个警告条件。
01663 在辅助表上创建的索引忽略NOT PADDED子句。
01664 在“更改分区条款”之后未指定选项。
01665 一个名字或标签被截断。
01666 最后一个分区的极限键值被设置为最高或最低可能值。
01668 一行FETCH语句返回一行或多行数据,并出现一个或多个绑定输出处理错误。 请执行 GET DIAGNOSTICS 以了解更多信息。
01676 忽略了传送操作,因为授权标识已经是数据库对象的所有者。
01679 无法为指定的系统授权ID建立可信连接。
01680 在指定的上下文中不支持该选项。
01681 不再将可信上下文定义为特定属性值。
01682 对语句中指定的某些授权标识(但不是所有授权标识)取消了使用可信上下文的能力。
01683 SELECT语句包含非原子数据更改语句,成功返回了一些行,但出现了一个或多个警告或错误。
01687 数据库资源不可用。 继续处理。
0168B 一项操作部分成功,部分不成功。 请执行 GET DIAGNOSTICS 以了解更多信息。
0168C 十进制浮点运算生成的结果不准确。
0168D 十进制浮点运算无效。
0168E 十进制浮点运算导致溢出或下溢。
0168F 十进制浮点运算执行了除零运算。
0168G 十进制浮点运算产生了一个非正规数。
0168L 找不到具有指定名称和兼容自变量的任何例程。
0168T 已指定 WITH ROW CHANGE COLUMNS ALWAYS DISTINCT,但数据库管理器无法返回单值行更改列。
0168X 目标命名空间和模式位置提示的组合在XML模式库中不是唯一的。
0168Z 声明已成功准备,但无法执行。
01694 功能部件未启用或已被忽略。
01695 由于执行数据更改操作而对某个时间段的值进行了调整。
0169A 配置参数被覆盖。
0169B Db2 服务器上的操作是成功的,但加速器服务器上的操作可能不成功。
0169D 加速器并不存在。
01Hxx 由用户定义的函数、外部过程 CALL 或者命令调用返回了有效警告 SQLSTATE。
01H54 已成功返回此过程,但是参数的格式或内容发生错误。 输出参数中返回了有关参数值中发生的错误的信息。
01H55 已成功返回此过程,但是遇到了内部处理错误。 输出参数中返回了有关内部错误情况的信息。
01H56 已成功返回此过程,但是支持某个参数使用比指定版本更高的版本。
01H57 此过程返回的输出采用了备用语言环境而不是指定的语言环境。
01H5A 在Bidi转换过程中发生了数据截断。
01H5B 可以建立值得信赖的联系。
表 4. 类代码 02:无数据
SQLSTATE 值 含义
02000 发生了下列其中一个异常:
  1. SELECT INTO 语句或 INSERT 语句的子查询的结果为空表。
  2. 如果这是UPDATE、INSERT、DELETE或MERGE语句,则没有行满足子选择、WHERE子句或MERGE条件。 未更新、插入或删除任何行。
  3. 在 FETCH 语句中引用的游标位置处于结果表最后一行之后。
  4. 获取方向无效。
02502 删除或更新检测到的漏洞。
02504 FETCH PRIOR ROWSET 返回了一个部分行集。
表5。 类代码 07:动态 SQL 错误
SQLSTATE 值 含义
07001 参数标记的数量与变量数量不符。
07002 调用参数列表或控制块无效。
07003 在 EXECUTE 语句内标识的语句是一个 SELECT 语句,或未处于已预编译状态。
07005 游标的语句名标识的是一个不能与游标关联的已预编译语句。
07501 PREPARE 或EXECUTE 中指定的选项无效。
表6。 类代码 08:连接异常
SQLSTATE 值 含义
08001 无法与应用程序服务器或其他服务器建立连接。
08002 连接已存在。
08003 连接不存在。
08004 应用程序服务器拒绝建立连接。
表7。 类代码 09:触发操作异常
SQLSTATE 值 含义
09000 触发 SQL 语句失败。
表8。 类代码 0A:不支持功能部件
SQLSTATE 值 含义
0A001 CONNECT 语句无效,因为进程处于不可连接状态。
0A502 未对此数据库实例启用操作。
表9。 类代码 0F:标记无效
SQLSTATE 值 含义
0F001 定位器数值目前没有任何意义。
表 10. 类代码 0K: 处理程序不活动时重新发送信号
SQLSTATE 值 含义
0K000 已发出请求,但处理程序未激活。
表 11. 类代码 0N:SQL/XML 映射错误
SQLSTATE 值 含义
0N002 无法将字符映射至有效 XML 字符。
表 12. 类代码 10:XQuery 错误
SQLSTATE 值 含义
10501 XQuery 表达式缺少静态或动态上下文组件的指定。
10502 在 XQuery 表达式的序言中遇到了错误。
10503 在 XQuery 或 XPath 表达式中定义了重复的名称。
10504 在无效 URI 中指定了 XQuery 名称空间声明。
10505 字符、标记或子句在 XQuery 表达式中缺少了或者无效。
10506 XQuery 表达式引用了一个未定义的名称。
10507 处理 XPath 或 XQuery 表达式时遇到了类型错误。
10509 指定了不受支持的 XQuery 语言功能部件。
10601 在处理 XQuery 函数或运算符时遇到了算术错误。
10602 在处理 XQuery 函数或运算符时遇到了强制类型转换错误。
10606 没有上下文项用来处理 XQuery 函数或运算符。
10608 在 XQuery 函数或运算符的自变量中遇到了错误。
10609 在处理 XQuery 函数或运算符时遇到了正则表达式错误。
10703 XQuery 基本更新表达式的目标节点无效。
表 13. 类代码 20:找不到 Case 语句的条件
SQLSTATE 值 含义
20000 找不到 CASE 语句的条件。
表 14. 类代码 21:基数违例
SQLSTATE 值 含义
21000 SELECT INTO、标量全选或基本谓词的子查询的结果是多个值。
21501 对自引用表进行多行 INSERT 是无效的。
21502 主键的多行 UPDATE 是无效的。
表 15. 类代码22:数据异常
SQLSTATE 值 含义
22001 字符数据发生右截断;例如,更新或插入的值对于列来说太长,或者日期时间值太小,无法分配给变量。
22002 检测到空值或指示参数缺失;例如,不能将空值赋给变量,因为没有指定指示变量。
22003 数值超出范围。
22004 不允许为空值。
22007 检测到无效的日期时间格式;即指定了无效的字符串表示法或值。
22008 发生日期时间字段溢出;例如,对日期或时间戳记算术运算的结果不在有效日期范围之内。
2200L XML 值不是具有单个根元素的格式良好的文档。
2200M XML 文档无效。
2200S XML 注释无效。
2200T XML 处理指令无效。
2200V 上下文项是包含多个项的XML序列。
2200W XML 值包含未能序列化的数据。
22010 无效的指示器参数值。
22011 发生子字符串错误;例如,SUBSTR或SUBSTRING的参数超出范围。
22012 用零作除数是无效的。
22014 NTILE 函数的自变量无效。
22016 NTH_VALUE 函数的自变量无效。
22018 CAST 规范或者 CAST 标量函数的字符值无效。
22019 LIKE 谓词有无效转义字符。
2201R XML 文档无效。
22021 字符不在编码字符集中,或者不支持转换。
22023 参数或变量值无效。
22024 以 NUL 结束的输入主变量或参数不包含 NUL。
22025 LIKE 谓词字符串模式包含无效的转义字符。
22501 可变长度的字符串的长度控制字段为负值或大于最大值。
22502 发送电子邮件至 NaN。
22503 名字的字符串表示无效。
22504 混合数据值是无效的。
22505 本地日期或时间长度已增加,但执行程序仍依赖于旧的长度。
22506 日期时间特殊寄存器的引用无效,因为时钟出现故障或操作系统时区参数超出范围。
22508 当前套餐集为空。
22511 行号或参考列的值无效。
22512 谓词中的变量无效,因为其指示变量为负数。
22522 CCSID 值根本无效,对数据类型或子类型无效,或对编码方案无效。
22525 分区键值无效。
22527 检测到多行插入操作具有无效的输入数据。
22528 二进制数据对DECRYPT_CHAR和DECYRYPT_DB无效。
22529 至少一行成功完成非原子语句,但出现一个或多个错误。
22530 非原子语句试图处理多行数据,但未插入任何行,并发生了一个或多个错误。
22531 内置或系统提供的例程的自变量导致错误。
22532 在 XML 模式存储库中找不到 XSROBJECT。
22533 在 XML 模式存储库中找不到唯一的 XSROBJECT。
22534 XML 模式文档未通过使用包括或重新定义而连接至其他 XML 模式文档。
22537 一行FETCH语句返回一行或多行数据,并出现一个或多个非终止错误条件。 请执行 GET DIAGNOSTICS 以了解更多信息。
22539 使用的扩展指示符参数值无效。
22541 二进制 XML 值包含不识别的数据。
22542 不允许插入或更新,因为结果行不符合行权限。
22544 二进制XML值包含不支持的版本。
22546 例程自变量的值无效。
22547 不能从标量函数返回多个结果值。
225DE 无法启用 XML 模式以进行分解。
表 16. 类代码 23:约束违例
SQLSTATE 值 含义
23502 插入或更新值为空,但该列不能包含空值。
23503 外键的插入或更新值无效。
23504 NO ACTION 更新或删除规则防止父键被更新或删除。
23505 发生由唯一索引或唯一约束强加的约束违例。
23506 编辑或验证程序所施加的限制被违反。
23507 发生了违反现场程序所施加的限制的情况。
23508 违反了DDL注册机构规定的限制条件。
23509 软件包的所有者限制了软件包的使用环境,不包括应用程序运行环境。
23510 使用由 RLST 表强加的命令时发生约束违例。
23511 不能删除父行,因为检查约束限制该删除。
23512 不能添加检查约束,因为该表含有不满足约束定义的行。
23513 INSERT 或 UPDATE 的结果行不符合检查约束定义。
23515 未能创建唯一索引,或者不能添加唯一约束,因为该表包含指定键的重复值。
23522 标识列或者序列的值范围用完。
23523 已经为安全标号列提供了无效值。
23525 发生了违反XML值索引所施加的限制的情况。
23526 无法创建XML值索引,因为表数据中包含的值违反了索引所施加的限制。
表 17. 类代码 24:无效游标状态
SQLSTATE 值 含义
24501 所标识的游标未打开。
24502 在 OPEN 语句中标识的游标已经打开。
24504 在 UPDATE、DELETE、SET 或 GET 语句中标识的游标未定位在行上。
24506 在 PREPARE 中标识的语句是一个打开游标语句。
24510 尝试对删除或更新漏洞进行更新或删除操作
24512 结果表与基础表不一致。
24513 不允许使用FETCH NEXT、PRIOR、CURRENT或RELATIVE,因为光标位置未知。
24516 已对结果集指定了一个游标。
24517 函数或方法未关闭光标。
24518 光标没有定义为处理行集,但请求了行集。
24519 在多行FETCH语句中检测到一个漏洞,但没有提供指示变量。
24520 UPDATE或DELETE语句中标识的光标未定位在行集上。
24521 已定位的 DELETE 或 UPDATE 语句指定了行集中的一行,但该行不在当前行集中。
24522 获取方向与光标的定义不一致,也不确定光标是否支持行集。
24524 请求获取当前连续数据,但没有截断的LOB或XML数据可返回。
表 18. 类代码 25:无效事务状态
SQLSTATE 值 含义
25000 插入、更新或删除操作或者过程调用在指定它的上下文中无效。
表 19. 类代码 26:无效 SQL 语句标识
SQLSTATE 值 含义
26501 标识的语句不存在。
表 20. 类代码 2D:无效事务终止
SQLSTATE 值 含义
2D521 SQL COMMIT 或 ROLLBACK 在当前操作环境中无效。
2D528 动态 COMMIT 或 COMMIT ON RETURN 程序在应用程序执行环境中无效
2D529 动态 ROLLBACK 对于应用程序执行环境无效。
表 21. 类代码 34:无效游标名
SQLSTATE 值 含义
34000 游标名无效。
表 22. 等级代码35:无效 条件编号
SQLSTATE 值 含义
35000 条件编号无效。
表 23. 类别代码36:光标灵敏度异常
SQLSTATE 值 含义
36001 不能为指定的 SELECT 语句定义 SENSITIVE 游标。
表 24. 类代码 38:外部函数异常
SQLSTATE 值 含义
XXXXX SQL程序返回的有效错误SQL状态。 也用于RAISE_ERROR和SIGNAL。
38xxx 外部程序或触发器返回的有效错误 SQL状态。
38000 Java程序退出时出现异常。
38001 不允许外部例程执行 SQL 语句。
38002 外部程序试图修改数据,但该程序未定义为修改SQL数据。
38003 例程中不允许该语句。
38004 外部程序试图读取数据,但该程序未定义为读取SQL数据。
38503 用户定义的函数或程序异常终止(abend)。
38504 用户已经中断例程、触发器或匿名块。
38505 FINAL CALL 上的例程中不允许 SQL 语句。
38H01 MQSeries 函数未能初始化。
38H02 MQSeries 的“应用程序消息传递接口”未能终止会话。
38H03 MQSeries 的“应用程序消息传递接口”未能正确地处理消息。
38H04 MQSeries 的“应用程序消息传递接口”未能发送消息。
38H05 MQSeries 的“应用程序消息传递接口”未能读取/接收消息。
38H06 “MQSeries 应用程序消息传递接口”消息被截断。
38H10 在文本搜索处理期间出错。
38H11 文本搜索支持不可用。
38H12 不允许在某列上执行文本搜索,因为该列不存在文本搜索索引。
38H13 同一文本搜索索引上正在运行相互冲突的搜索管理程序或命令。
38H14 文本搜索管理程序出错。
表 25. 类代码 39:外部函数调用异常
SQLSTATE 值 含义
39004 当使用参数风格常规或参数为Java基本类型时,IN或INOUT参数不允许为空值。
39501 函数或过程返回的输出参数值太长。
表 26. 类代码 3B: 保存点异常
SQLSTATE 值 含义
3B001 保存点无效。
3B501 检测到重复的保存点名。
3B502 指定了 RELEASE 或 ROLLBACK TO SAVEPOINT,但是保存点不存在。
3B503 在触发器、函数或全局事务中不允许使用保存点、释放保存点或回滚到保存点。
表 27. 类代码 3C: 模糊光标名称
SQLSTATE 值 含义
3C000 光标名称不明确。
表 28. 类代码 40:事务回滚
SQLSTATE 值 含义
40001 发生了伴随自动回滚的超时或死锁。
表 29. 类代码 42:语法错误或访问规则违例
SQLSTATE 值 含义
42501 授权标识不具有对标识对象执行指定操作的特权。
42502 授权标识不具有执行指定操作的特权。
42503 指定的授权ID或申请流程的授权ID之一是不允许的。
42504 无法从指定的权限名撤销指定的特权、安全标号或免除凭证。
42505 发生了连接权限故障。
42506 发生所有者授权失败。
42509 SQL 语句未被授权,因为存在 DYNAMICRULES 选项。
42510 授权ID没有在WLM环境中创建函数或程序的权限。
42512 授权ID对受保护列没有安全性。
42513 授权ID没有MLS WRITE-DOWN权限。
42517 不允许指定的授权标识使用可信上下文。
42601 字符、标记或子句无效或丢失。
42602 检测到名称中有无效字符。
42603 检测到未终止的字符串常量。
42604 检测到无效数字或字符串常量。
42605 为标量函数指定的自变量数无效。
42606 检测到无效十六进制常数。
42607 聚合函数或CONCAT运算符的操作数无效。
42608 在 VALUES 中使用 NULL 或 DEFAULT 是无效的,或者赋值语句无效。
42609 运算符或谓词的所有操作数都是参数标记。
42610 不允许使用参数标记或空值。
42611 列、自变量、参数或全局变量定义无效。
42612 语句字符串是一条 SQL 语句,它在它所出现的上下文中是不可接受的。
42613 子句互斥。
42614 重复的关键字或子句无效。
42615 检测到无效备用项。
42617 语句字符串是空白或空的。
42618 不允许使用变量。
42620 对 UPDATE 子句指定了只读 SCROLL。
42621 检查约束或生成的列表达式无效。
42622 名称或标号太长。
42623 不能指定 DEFAULT 子句。
42625 CASE 表达式无效。
42626 在辅助表上创建索引时,不允许使用列规格。
42629 必须为 SQL 例程指定参数名。
42630 SQLSTATE或SQLCODE变量在此上下文中无效。
42631 在SQL函数中的RETURN语句中必须指定一个表达式。
42633 XMLATTRIBUTES 或 XMLFOREST 的自变量需要 AS 子句。
42634 XML 名称无效。
42701 在同一个SQL语句中,同一个目标被指定了不止一次。
42702 由于名称重复,列引用有歧义。
42703 检测到未定义的列名或参数名。
42704 检测到未定义的对象或约束名。
42705 检测到未定义的服务器名。
42707 ORDER BY 内的列名不标识结果表中的列。
42708 未找到 SET LOCALE 或对区域设置敏感的函数中指定的区域设置。
42709 在键列列表中指定了重复的列名。
42710 检测到重复的对象或约束名。
42711 在对象定义或ALTER TABLE语句中检测到重复的列名。
42712 在CREATE TRIGGER语句的FROM子句或REFERENCING子句中检测到重复的表标识符。
42713 在列表中检测到重复对象,或与现有对象相同。
42714 一个宿主变量只能定义一次。
42718 本地服务器名称未定义。
42721 服务器上未知特殊注册名称。
42723 定义该例程的架构、模块或复合块中已经存在一个具有相同签名的例程。
42724 不能访问用于用户定义的函数或过程的外部程序。
42725 一个例程被直接引用(不是通过签名或特定实例名称),或者通过签名和特定实例名称被引用,但该例程有多个特定实例。
42726 检测到常用表表达式重复的名称。
42732 在特殊注册表中检测到重复的架构名称。
42734 检测到重复的参数名称、SQL变量名称、标签或条件名称。
42736 GOTO、ITERATE或LEAVE语句中指定的标签不存在或无效。
42737 未定义所指定的条件。
42749 对于 XML 模式而言,已经存在具有相同目标名称空间和模式位置的 XML 模式文档。
4274A 在 XML 模式存储库中找不到 XSROBJECT。
4274B 在 XML 模式存储库中找不到唯一的 XSROBJECT。
4274C 在可信上下文中找不到指定的属性。
4274D 可信上下文中已存在指定的属性。
4274E 在受信任的上下文中不支持指定的属性。
4274M 检测到未定义的时间段名称。
42801 隔离级别UR无效,因为结果表不是只读的。
42802 目标值与源值数量不同。
42803 在 SELECT 或 HAVING 子句中的列引用无效,因为它不是分组列;或者在 GROUP BY 子句中的列引用无效。
42804 CASE 表达式中的结果表达式不兼容。
42805 ORDER BY 子句中的整数不标识结果表中的列。
42806 不能为变量赋值,因为数据类型不兼容。
42807 不允许对此对象执行数据更改语句。
42808 在插入或更新操作中标识的列不可更新。
42809 标识的对象不是语句所应用的对象类型。
42810 FOREIGN KEY 子句中没有标识基本表。
42811 指定的列数与 SELECT 子句中的列数不相同。
42813 WITH CHECK OPTION 不能用于指定的视图。
42814 无法删除该列,因为它是表中唯一的列。
42815 数据类型、长度、小数位、值或 CCSID 无效。
42816 表达式中的日期时间值或持续时间无效。
42817 不能删除该列,因为视图或约束依赖于该列,该列是分区键的一部分,或者该列是安全标签列。
42818 运算符或函数的操作数不兼容或不可比较。
42819 算术运算的操作数或需要数字的函数的操作数无效。
42820 数字常数太长,或其值不在该数据类型取值范围内。
42821 赋值给列或变量的数据类型与此数据类型不兼容。
42822 ORDER BY 子句或 GROUP BY 子句中的表达式无效。
42823 子查询返回了多个列,而子查询只允许返回一个列。
42824 LIKE 的操作数不是字符串,或第一个操作数不是列。
42825 UNION、INTERSECT、EXCEPT 或 VALUES 的行没有兼容列。
42826 UNION、INTERSECT、EXCEPT 或 VALUES 的行的列数不相同。
42827 UPDATE 或 DELETE 中标识的表与游标指定的表不相同。
42828 由 UPDATE 或 DELETE 语句的游标指定的表不能修改,或该游标是只读游标。
42829 FOR UPDATE OF 无效,因为由该游标指定的结果表不能修改。
42830 外键不符合父键的描述。
42831 在主键的列、唯一键的列、ROWID 列、“行更改时间戳记”列、“行开始”列、“行结束”列或者应用程序时间段的列中不允许存在空值。
42832 不允许对系统对象执行该操作。
42834 不能指定 SET NULL,因为不能对外键的任何列指定空值。
42835 在指定的派生表之间不能指定循环引用。
42836 指定的递归派生表的规范无效。
42837 不能改变该列,原因是它的属性与当前的列属性不兼容。
42842 列或参数定义无效,因为指定的选项与列描述不一致。
42845 检测到无效使用非确定性或外部作用函数。
42846 不支持从源类型到目标类型的强制类型转换。
42849 常规类型不支持指定的选项。
42852 在 GRANT 或 REVOKE 中指定的特权无效或不一致。 (例如,视图上的 GRANT ALTER。)
42855 不允许将LOB或XML分配给该变量。 对于此游标的LOB或XML值的所有FETCH,其目标变量必须相同。
42856 将CCSID更改为指定的CCSID无效。
42866 CREATE FUNCTION语句中RETURNS子句或CAST FROM子句中的数据类型与源函数或函数主体中的RETURN语句返回的数据类型不匹配。
42872 FETCH 语句子句与游标定义不兼容。
42873 在多行FETCH或多行INSERT中指定的行数无效。
42877 不能限定该列名。
42878 与 EXTERNAL 关键字配合使用的函数或过程名称无效。
42879 在 CREATE FUNCTION 语句中一个或多个输入参数的数据类型对于源函数中相应的数据类型不适合。
42880 CAST TO 和 CAST FROM 数据类型不兼容,或总会导致固定字符串截断。
42882 特定实例名称限定词与函数名称限定词不相同。
42883 找不到具有匹配特征符的例程。
42884 找不到具有指定名称和兼容自变量的任何例程。
42885 在 CREATE FUNCTION 语句中指定的输入参数个数与 SOURCE 子句中指定的函数所提供的参数个数不匹配。
42886 IN、OUT 或 INOUT 参数属性不匹配。
42887 函数或表引用在出现时无效。
42888 表没有主键。
42889 该表已有主键。
42890 在引用子句中指定了列表,但是标识的父表没有指定列名的唯一约束。
42891 重复约束已经存在。
42893 该对象或约束条件不能被删除、更改或转移,也不能撤销该对象上的授权,因为其他对象依赖于该对象。
42894 列或序列属性的值无效。
42895 对于静态SQL,不能使用输入变量,因为其数据类型与过程或用户定义函数的参数不兼容。
42898 在触发器中检测到无效相关引用或转换表。
42899 对于带有 FOR EACH STATEMENT 子句的触发操作,不允许使用相关的引用和列名。
428A1 无法访问文件引用变量引用的文件。
428B0 嵌套在滚动、立方体或分组集中无效。
428B3 指定了无效的 SQLSTATE。
428B4 LOCK TABLE语句的子句部分无效。
428B7 在 SQL 语句中指定的编号不在有效范围内。
428C1 列的数据类型或属性只能对表指定一次。
428C2 检查函数体指出应已在 CREATE FUNCTION 语句中指定给出的子句。
428C4 谓词运算符两边的元素数不相同。
428C7 行号或参考列规格无效或在无效的上下文中使用。
428C9 不能将定义为“始终生成”的列指定为插入或更新操作的目标列。
428D2 AS LOCATOR不能用于非LOB参数。
428D3 对于指定的数据类型或列属性,不允许使用生成。
428D4 在 OPEN、CLOSE 或 FETCH 语句中不能引用在 FOR 语句中指定的游标。
428D5 结束标号与开始标号不匹配。
428D6 NOT ATOMIC复合语句不允许使用UNDO。
428D7 不允许条件值。
428D8 sqlcode或sqlstate变量声明无效。
428EC 为具体化查询表指定的全查询无效。
428EK 模式限定符无效。
428EW 表不能与具体化查询表互相转换。
428F2 在SQL程序中,RETURN语句必须指定一个整数表达式。
428F4 在 FETCH 上指定的 SENSITIVITY 不允许用于游标。
428F5 对例程的调用具有多义性。
428F9 在此上下文中不能指定序列表达式。
428FA 十进制数的小数位必须为零。
428FB 序列名不能是系统生成的序列。
428FC 加密密码的长度无效。
428FE 数据不是 ENCRYPT 函数的结果。
428FJ 在视图或具体化查询表的外部全选列表中不允许使用“排序”或“获取第一”。
428FL 在指定的上下文中不允许使用数据更改语句。
428FM SELECT语句中的SQL数据更改语句指定了一个非对称视图。
428FP 在视图中,每种操作只能使用一个“代替”触发器。
428FQ 视图的定义方式导致无法创建 INSTEAD OF 触发器。
428FR 无法按所指定方式改变列。
428FS 索引中不能添加列。
428FT CREATE或ALTER命令中指定的分隔符无效。
428FY 在实体化查询表中,不能添加、删除或更改列。
428G3 当全查询中的 SQL 数据更改语句的目标视图定义了 INSTEAD OF 触发器时,FINAL TABLE 无效。
428G4 无效使用了 INPUT SEQUENCE 排序。
428G5 UPDATE 语句的赋值子句必须至少指定不是 INCLUDE 列的一列。
428G8 不能启用视图以进行查询优化。
428GB 字符不能转换,也不允许使用替代字符。
428GC 为函数指定了无效的字符串单元。
428GH ADD VERSION子句中指定的一个或多个参数的数据类型与正在更改的例程中的相应数据类型不匹配。
428GI XML 模式不完整,因为缺少 XML 模式文档。
428GJ 无法截断此表,因为它存在 DELETE 触发器,或者此表是将受到此语句影响的引用约束的父表。
428GK ALTER TRUSTED CONTEXT 试图删除一个或多个最低要求的属性。
428GL 在一个可信上下文中已经指定了为另一个可信上下文指定的系统授权标识。
428GM 可信上下文已被定义为供此授权标识或 PUBLIC 使用。
428GN 在指定的可信上下文中未定义指定的授权标识或 PUBLIC。
428GU 表必须至少包含一个非隐式隐藏的列。
428H2 数据类型在使用它的上下文中不受支持。
428H7 不能将表达式作为查询的单个值来计算。
428H8 必须将此对象定义为安全对象,因为另一个对象依赖于它进行行级别或列级别访问控制。
428H9 无法改变许可权或掩码。
428HA 用户自定义函数的参数不得引用已定义列掩码的列。
428HB 无法对所指定的对象创建许可权或掩码。
428HC 已为指定的列定义了列掩码。
428HD 无法处理该语句,因为无法应用列掩码,或者该掩码的定义与该语句相冲突。
428HJ CREATE或ALTER命令中指定的组织条款无效。
428HK 指定的哈希空间对隐式创建的表空间无效。
428HL 该例程的另一个版本存在,且定义了不兼容的选项。
428HM 该表不能用作系统周期临时表或启用存档的表。
428HN 该时期规格无效。
428HW 索引或约束中的期限说明或期限条款无效。
428HX 该表格不适用于历史表格或档案表格。
428HY 期限说明或期限条件无效。
428HZ 表的临时属性对指定的ALTER操作无效。
428I1 UPDATE SET子句中未指定由XMLMODIFY函数更新的列。
428I4 UNNEST参数的组合无效。
428I5 一个物体在某个地点的属性与它在另一个地点的属性并不相同。
428I6 在此上下文中不允许使用已启用存档的表格。
428IC 数据更改操作的复制覆盖无效组合
428ID AI-Db函数中指定的模型列无法确定或不可用
42902 INSERT、UPDATE或DELETE的对象也在FROM子句中进行了标识(可能通过视图隐式标识)。
42903 无效使用了聚集函数或 OLAP 函数。
42905 在子选择中,DISTINCT被指定了不止一次。
42906 HAVING子句中的聚合函数包含一个表达式,该表达式将运算符应用于关联引用。
42907 在指定的上下文中,字符串太长。
42908 列列表无效。
42909 CREATE VIEW 包含对视图无效的运算符或操作数。
42911 十进制除法运算无效,因为其结果的小数位为负。
42912 列不能更新,因为它未在游标的 select 语句的 UPDATE 子句中标识。
42914 DELETE 无效,因为子查询中引用的表可能会受该操作影响。
42915 检测到无效引用约束。
42917 不能显式删除、变更或替换该对象。
42918 用户定义的数据类型不能用系统定义数据类型名(例如 INTEGER)创建。
42924 别名解析为远程位置的另一个别名,而不是表或视图。
42925 指定的递归派生表不能指定 SELECT DISTINCT,而必须指定 UNION ALL。
42927 该功能不能更改为非确定性或外部操作,因为它被一个或多个现有视图引用。
42932 程序预编译假设不正确。
42939 该名称无法使用,因为指定的标识符保留给系统使用。
42945 ALTER CCSID 命令不允许在包含视图的表空间或数据库中使用。
42961 指定的服务器名与当前服务器不匹配。
42962 索引、键、生成列或约束中不允许使用列类型。
42963 指定的安全标号列无效。
42969 未创建程序包。
42972 MERGE 语句的连接条件或 ON 子句中的表达式引用多个操作数表中的列。
42986 重命名操作的源表在不支持重命名的环境中被引用。
42987 触发器中不允许使用语句或例程。
42988 不允许在ASCII数据混合的情况下进行操作。
42993 定义的列太大而不能记录。
42995 所请求的函数不应用于全局临时表。
42996 分区键中不能使用指定的列。
42997 此版本的 DB2 应用程序请求器、DB2 应用程序服务器或两者的组合不支持该功能。
429B1 指定“返回时提交”的子程序不能作为嵌套CALL语句的目标。
429BB 不支持列、参数或SQL变量的数据类型。
429BD RETURN必须是SQL行或表函数中原子复合语句的最后一个SQL语句。
429BI 条件区域已满,无法再处理NOT ATOMIC语句的错误。
429BN 当当前模式(CURRENT SCHEMA)的值与当前 SQLID 不同时,CREATE 语句将无法处理。
429BQ 不允许指定数据类型或属性的更改。
429BS 涉及到 XMLPATTERN 子句或使用数据类型 XML 定义的列的索引定义无效。
429BV ROW CHANGE TIMESTAMP 列的设定无效。
429BW 由于相关隐式创建的对象,该语句无法处理。
429BX 索引键的表达式无效。
429BY 使用可信连接时,不允许使用该语句。
429C1 无法为无类型表达式确定数据类型。
429CB 表格类型不支持表格或列的属性。
表 30. 类代码 44:WITH CHECK OPTION 违例
SQLSTATE 值 含义
44000 不允许插入或更新,因为结果行不符合视图定义。
表 31. 类代码 46:Java 错误
SQLSTATE 值 含义
46001 在安装或替换JAR文件的过程中指定的 URL 没有识别出有效的JAR文件。
46002 在安装、替换或删除 Java 程序时指定的罐子名称无效。
46003 无法删除 jar 文件,因为某个类正被某个过程使用。
46007 Java函数具有无效签名的Java方法。
46008 Java函数不能映射到单个Java方法。
4600C 罐子无法取下。 它正在使用中。
4600D 为新的Java路径提供的值无效。
4600E 由于指定的路径引用自身,因此无法更改罐子的位置。
46103 Java 例程遇到了 ClassNotFound 异常。
46501 安装或删除JAR文件的过程指定了部署描述符的使用。
46502 用户自定义程序返回了无效类的动态结果集。 该参数不是 Db2 的结果集。
表 32. 类代码 51:无效应用程序状态
SQLSTATE 值 含义
51002 未找到与 SQL 语句执行请求相对应的程序包。
51003 一致性标记不匹配。
51004 SQLDA 中的地址无效。
51005 先前系统错误禁用了此功能。
51006 尚未建立有效的连接。
51008 程序或软件包的版本号无效。
51015 尝试执行在绑定时发现有错的节。
51021 在应用程序进程执行了回滚操作之后才能执行 SQL 语句。
51024 物品因被标记为无法使用而无法使用。
51030 描述过程或关联定位器语句中引用的过程尚未在应用程序进程中调用。
51032 尚未为这个 Db2 for z/OS 子系统指定有效的CCSID。
51033 不允许执行该操作,因为它操作的结果集不是当前服务器创建的。
51034 在调用上下文中,使用MODIFIES SQL DATA定义的常规无效。
51035 不能使用 PREVIOUS VALUE 表达式,因为在此会话中还没有为序列生成值。
51036 不允许与远程服务器的隐式连接,这是因为保存点未完成。
51039 未设置 ENCRYPTION PASSWORD 值。
51043 无法调用过程,因为嵌套环境已经调用了一个自治过程。
表 33. 类代码 53:无效操作数或不一致的规范
SQLSTATE 值 含义
53001 一个条款无效,因为表格空间是一个工作文件。
53004 DSNDB07 是隐含的工作文件数据库。
53014 指定的OBID无效。
53022 不允许使用变量或参数。
53035 必须在CREATE或ALTER INDEX语句中指定关键限制。
53036 分区规格的数量与分区数量不同。
53037 无法在表格上创建分区索引。
53038 键限制值的数目为零或者大于键中的列数。
53039 ALTER语句的PARTITION子句被省略或无效。
53040 不能像指定的那样更改缓冲池。
53041 缓冲池的页面大小无效。
53043 不同字段操作的列无法进行比较。
53044 列具有字段过程,但字段类型不兼容。
53045 键限制常量的数据类型与列的数据类型不相同。
53088 LOCKMAX与指定的LOCKSIZE不一致。
53089 存储过程的变量参数数量与预期的变量参数数量不相等。
53090 同一条 SQL 语句中只能引用具有一种编码方案(ASCII、EBCDIC 或 Unicode)的数据。
53091 指定的编码方案与当前包含表空间使用的编码方案不同。
53092 对于使用ASCII编码方案的表,无法创建类型1索引。
53093 此数据库或表空间不支持CCSID ASCII或UNICODE条款。
53094 PLAN_TABLE不能使用FOR ASCII子句创建。
53095 CREATE或ALTER语句无法使用指定的编码方案定义对象。
53096 在CREATE AUXILIARY TABLE中指定了分区子句,但基础表未分区。
53098 由于指定的列不是LOB列,因此无法创建辅助表。
53099 必须在CREATE FUNCTION语句中指定WLM ENVIRONMENT名称。
530A1 ALTER TABLE语句将FLOAT指定为列的新数据类型,但现有索引或约束限制了FLOAT的使用。
530A2 指定索引上不允许使用分区(PARTITIONING)子句。
530A3 常规指定无效
530A4 ALTER语句中指定的选项与创建对象时指定的选项不同。
530A5 “重新生成”选项仅适用于包含关键表达式的索引。
530A7 不允许交换数据,因为表之间没有定义的克隆关系。
530A8 系统参数与指定的SQL语句不兼容。
530A9 在这种情况下,不允许使用临时表。
表 34. 类代码 54:超出 SQL 限制或产品限制
SQLSTATE 值 含义
54001 该语句过长或过于复杂。
54002 字符串常量太长。
54004 语句中 SELECT 或 INSERT 列表中的项或表名太多。
54005 排序键太长或列数太多。
54006 结果字符串太长。
54008 键太长,键的列太长,或者键的列数太多。
54010 表的记录长度太长。
54011 为表、视图或表函数指定的列数过多。
54012 文字太长。
54024 检查约束、生成的列或关键表达式太长。
54025 表格描述超出了对象描述符的最大大小。
54027 该目录具有用户自定义索引的最大数量。
54035 已超出内部对象限制。
54038 嵌套程序或触发器的最大深度已超出。
54041 已达到内部标识符的最大数量。
54042 辅助表中只允许有一个索引。
54051 在“绝对”或“相对”上指定的值无效。
54054 分区数量已超出限制。
54055 表格或索引的最大版本数已达到上限。
54058 XML 路径的内部表示太长。
54065 已超出隐式生成的99999个对象名称的最大值。
54068 已超出无缝客户机自动重新路由重试限制。
表 35. 类代码 55:对象不处于先决条件状态。
SQLSTATE 值 含义
55002 未正确定义解释表。
55003 DDL注册表未正确定义。
55004 数据库无法访问,因为它不再是共享数据库。
55006 该对象不能被删除,因为它当前正在被同一个应用程序进程使用。
55007 不能改变对象,因为它当前正由同一应用程序进程使用。
55011 不允许进行此操作,因为工作文件数据库未处于停止状态。
55012 表格中不适用聚类索引。
55014 该表没有索引来确保主键的唯一性。
55015 ALTER语句无法执行,因为页面集不是处于停止状态。
55016 ALTER语句无效,因为页面集包含用户管理的数据集。
55017 无法在表空间中创建该表,因为该表空间中已包含一个表。
55019 对象的状态对于该操作无效。
55020 已为该成员定义了工作文件数据库。
55023 调用过程时出错。
55030 远程BIND REPLACE操作中指定的包不能有系统列表。
55035 物体受到保护,不能掉落。
55048 不能再加密已加密的数据。
55058 对于使用禁用调试模式创建的例程,无法更改调试模式。
55059 当前正在运行的常规版本不能删除。
55063 对于该操作而言,XML 模式未处于正确状态。
55078 表格已经处于指定状态。
55079 由于XML列不是版本控制格式,因此无法执行操作。
表 36. 类代码 56:其他 SQL 或产品错误
SQLSTATE 值 含义
56010 字符串变量的子类型与绑定时的子类型不同,且无法通过字符转换解决差异。
56016 对数据分区指定的范围无效。
56018 不能在表格中添加列,因为列有编辑程序。
56023 检测到对于远程对象的无效引用。
56025 在授权或撤销中,检测到无效使用“在所有地点”。
56027 具有删除规则为SET NULL的外键的无效列不能作为分区索引的键的一部分。
56031 子句或标量函数无效,因为该系统不支持混合数据和 DBCS 数据。
56036 存储组中不允许使用特定和非特定的卷ID。
56038 此环境不支持请求的功能部件。
56040 当前 SQLID 不能用于引用远程对象的语句中。
56045 应用程序必须发出回滚操作,以撤销在只读应用程序服务器上所做的更改。
56052 远程请求者试图绑定、重新绑定或释放触发器包。
56053 只读共享数据库中的表父级也必须是一个只读共享数据库中的表。
56054 在共享数据库中,用户自定义的对象数据集必须使用SHAREOPTIONS(1,3)进行定义。
56055 数据库被定义为共享读取,但表空间或索引空间尚未在所属系统上定义。
56056 SHARE READ数据库中物品的描述必须与OWNER系统中的描述保持一致。
56057 数据库不能从“共享阅读”改为“共享拥有”。
56059 绑定已触发的 SQL 语句时出错。
56060 LE功能失效。
56062 分布式操作无效,因为工作单元在 DDF 之前启动。
56064 绑定操作是不允许的,因为程序依赖于发生回退的版本的功能。
56065 不允许进行绑定操作,因为DBRM已被修改或是为其他版本创建的。
56066 不允许重新绑定操作,因为计划或包依赖于发生回退的版本的功能。
56067 不允许重新绑定操作,因为 SYSPACKAGE.IBMREQD 的值无效。
56072 由于低级别服务器不支持函数,因此执行失败,这不会影响后续 SQL 语句的执行。
56073 由于下级服务器不支持该功能,导致执行失败,这会影响后续SQL语句的执行。
56080 Db2 私人协议处理中不允许使用该数据类型。
56084 在选择列表或输入列表中遇到了不受支持的 SQLTYPE。
56088 ALTER FUNCTION 失败,因为当函数并行处理时,它们无法修改数据。
56089 指定选项需要2型索引。
56090 不允许改变索引或表。
56095 绑定选项无效。
56096 绑定选项不兼容。
560A1 表空间名无效。
560A2 LOB表及其关联的基表空间必须位于同一数据库中。
560A3 表格与数据库不兼容。
560A4 辅助手术台不允许进行手术。
560A5 指定列或分区已经存在辅助表。
560A6 除非同时具有 ROWID 列,否则表不能具有 LOB 列;除非同时具有 DOCID,否则表不能具有 XML 列。
560A7 在GRECP中,不能为表空间或索引指定GBPCACHE NONE。
560A8 对于工作文件对象, 8K 或 16K 缓冲池页面大小无效。
560A9 指定的参数、选项或条款已停用。
560AB SQL程序不支持该数据类型。
560AD 在LIKE后面指定了视图名称,此外还指定了包括标识列属性子句。
560AE 不允许在 LIKE 子句中使用所指定的表或视图。
560B1 程序失败,因为结果集是可滚动的,但光标未定位在第一行之前。
560B2 打开失败,因为光标可以滚动,但客户端不支持滚动光标。
560B3 由于调用程序无法返回一个或多个结果集,因此程序失败。
560B5 本地特殊注册无效。
560B8 SQL语句无法执行,因为其预编译级别与编码绑定选项或特殊寄存器的当前值不兼容。
560B9 十六进制常数GX不允许使用。
560BF 加密设施尚未安装。
560C3 AFTER 触发器不能修改要为 INSERT 语句插入的行。
560C5 该套餐必须装订或重新装订才能成功执行。
560C7 ALTER VIEW 失败。
560CC ALTER INDEX 失败。
560CG XML 值包含一些 XML 节点的组合,该组合导致超出了内部标识限制。
560CH XML值中XML节点的子节点数量不得超过 exceeded.to。
560CK 解释监控语句失败。
560CM 关键表达式计算出现错误。
560CU VARCHAR选项与创建过程时指定的选项不一致。
560CV 无效的表格定位器表格引用。
560CY 时期说明或时期条款不具有规定的效力。
560D5 查询加速器无法执行该语句。
560DC 使用 z/OS Unicode服务时出现错误。
表 37. 类代码 57:资源不可用或操作员干预
SQLSTATE 值 含义
57001 表不可用,因为它没有主索引。
57002 授权已被禁用,因此“授予”和“撤销”无效。
57003 尚未激活指定的缓冲池。
57004 该表不可用,因为它缺少分区索引。
57005 由于超出实用程序或查询限制或阈值,该语句无法执行。
57006 由于DROP或CREATE操作正在等待处理,因此无法创建对象。
57007 不能使用该对象,因为操作正在暂挂。
57008 本地格式的日期或时间退出功能尚未安装。
57010 无法加载现场程序。
57011 虚拟存储器或数据库资源不可用。
57012 非数据库资源不可用。 这不会影响后续语句的成功执行。
57013 非数据库资源不可用。 这将影响后继语句的成功执行。
57014 已根据要求取消处理。
57015 无法连接到当地的 Db2。
57017 未定义字符转换。
57018 不存在DDL注册表或其唯一索引。
57023 DDL语句无法执行,因为DDL注册表中有DROP语句待执行。
57033 发生死锁或超时,而没有自动回滚。
57051 估计的 CPU 成本超出了资源限制。
57053 由于违反嵌套SQL语句规则,常规或触发器中不存在表。
57054 在创建外部存储列的辅助表和索引之前,无法使用该表。
57057 由于 SQL 语句的 DRDA 链中的优先条件,不能执行该 SQL 语句。
57062 由于数据更改操作,一段时间内不允许调整。
表 38. 类代码 58:系统错误
SQLSTATE 值 含义
XXXXX 用户应用程序(包括用户退出程序)返回的有效错误 SQL状态。
58001 数据库无法创建,因为分配的数据库ID重复。
58002 退出时出现错误或无效数据。
58003 检测到无效的章节编号。
58004 发生系统错误(它不一定阻止后续 SQL 语句的成功执行)。
58006 连接时出现系统错误。
58008 由于分发协议错误致使执行失败,它不影响后续 DDM 命令或 SQL 语句的成功执行。
58009 由于分发协议错误致使执行失败,它导致对话的释放。
58010 由于分发协议错误致使执行失败,它将影响后续 DDM 命令或 SQL 语句的成功执行。
58011 进行绑定时 DDM 命令无效。
58012 具有指定程序包名和一致性标记的绑定进程处于不活动状态。
58013 SQLCODE与回复信息不一致。
58014 不支持 DDM 命令。
58015 不支持 DDM 对象。
58016 不支持 DDM 参数。
58017 不支持 DDM 参数值。
58018 不支持 DDM 应答消息。
58026 语句中的变量数量不等于 SQLSTTVRB 中的变量数量。
表 39. 类代码 5UA: 常用实用工具
SQLSTATE 值 含义
5UA01 无法除去任务,因为当前正在执行该任务。