SQLSTATE值和常见错误代码
Db2 当它作为应用程序服务器或请求者工作时,会产生SQLSTATE值。
SQLSTATE值基于以下标准中的SQLSTATE规范: ISO/IEC 9075:1992、数据库语言SQL 和 ANSI 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。
| 类代码 | 含义 | 子代码 |
|---|---|---|
| 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 |
| SQLSTATE 值 | 含义 |
|---|---|
| 00000 | 操作执行成功,并且未产生任何类型的警告或异常情况。 |
| 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 | 可以建立值得信赖的联系。 |
| SQLSTATE 值 | 含义 |
|---|---|
| 02000 | 发生了下列其中一个异常:
|
| 02502 | 删除或更新检测到的漏洞。 |
| 02504 | FETCH PRIOR ROWSET 返回了一个部分行集。 |
| SQLSTATE 值 | 含义 |
|---|---|
| 07001 | 参数标记的数量与变量数量不符。 |
| 07002 | 调用参数列表或控制块无效。 |
| 07003 | 在 EXECUTE 语句内标识的语句是一个 SELECT 语句,或未处于已预编译状态。 |
| 07005 | 游标的语句名标识的是一个不能与游标关联的已预编译语句。 |
| 07501 | PREPARE 或EXECUTE 中指定的选项无效。 |
| SQLSTATE 值 | 含义 |
|---|---|
| 08001 | 无法与应用程序服务器或其他服务器建立连接。 |
| 08002 | 连接已存在。 |
| 08003 | 连接不存在。 |
| 08004 | 应用程序服务器拒绝建立连接。 |
| SQLSTATE 值 | 含义 |
|---|---|
| 09000 | 触发 SQL 语句失败。 |
| SQLSTATE 值 | 含义 |
|---|---|
| 0A001 | CONNECT 语句无效,因为进程处于不可连接状态。 |
| 0A502 | 未对此数据库实例启用操作。 |
| SQLSTATE 值 | 含义 |
|---|---|
| 0F001 | 定位器数值目前没有任何意义。 |
| SQLSTATE 值 | 含义 |
|---|---|
| 0K000 | 已发出请求,但处理程序未激活。 |
| SQLSTATE 值 | 含义 |
|---|---|
| 0N002 | 无法将字符映射至有效 XML 字符。 |
| 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 基本更新表达式的目标节点无效。 |
| SQLSTATE 值 | 含义 |
|---|---|
| 20000 | 找不到 CASE 语句的条件。 |
| SQLSTATE 值 | 含义 |
|---|---|
| 21000 | SELECT INTO、标量全选或基本谓词的子查询的结果是多个值。 |
| 21501 | 对自引用表进行多行 INSERT 是无效的。 |
| 21502 | 主键的多行 UPDATE 是无效的。 |
| 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 模式以进行分解。 |
| 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值索引,因为表数据中包含的值违反了索引所施加的限制。 |
| 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数据可返回。 |
| SQLSTATE 值 | 含义 |
|---|---|
| 25000 | 插入、更新或删除操作或者过程调用在指定它的上下文中无效。 |
| SQLSTATE 值 | 含义 |
|---|---|
| 26501 | 标识的语句不存在。 |
| SQLSTATE 值 | 含义 |
|---|---|
| 2D521 | SQL COMMIT 或 ROLLBACK 在当前操作环境中无效。 |
| 2D528 | 动态 COMMIT 或 COMMIT ON RETURN 程序在应用程序执行环境中无效 |
| 2D529 | 动态 ROLLBACK 对于应用程序执行环境无效。 |
| SQLSTATE 值 | 含义 |
|---|---|
| 34000 | 游标名无效。 |
| SQLSTATE 值 | 含义 |
|---|---|
| 35000 | 条件编号无效。 |
| SQLSTATE 值 | 含义 |
|---|---|
| 36001 | 不能为指定的 SELECT 语句定义 SENSITIVE 游标。 |
| 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 | 文本搜索管理程序出错。 |
| SQLSTATE 值 | 含义 |
|---|---|
| 39004 | 当使用参数风格常规或参数为Java基本类型时,IN或INOUT参数不允许为空值。 |
| 39501 | 函数或过程返回的输出参数值太长。 |
| SQLSTATE 值 | 含义 |
|---|---|
| 3B001 | 保存点无效。 |
| 3B501 | 检测到重复的保存点名。 |
| 3B502 | 指定了 RELEASE 或 ROLLBACK TO SAVEPOINT,但是保存点不存在。 |
| 3B503 | 在触发器、函数或全局事务中不允许使用保存点、释放保存点或回滚到保存点。 |
| SQLSTATE 值 | 含义 |
|---|---|
| 3C000 | 光标名称不明确。 |
| SQLSTATE 值 | 含义 |
|---|---|
| 40001 | 发生了伴随自动回滚的超时或死锁。 |
| 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 | 表格类型不支持表格或列的属性。 |
| SQLSTATE 值 | 含义 |
|---|---|
| 44000 | 不允许插入或更新,因为结果行不符合视图定义。 |
| 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 的结果集。 |
| 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 | 无法调用过程,因为嵌套环境已经调用了一个自治过程。 |
| 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 | 在这种情况下,不允许使用临时表。 |
| 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 | 已超出无缝客户机自动重新路由重试限制。 |
| 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列不是版本控制格式,因此无法执行操作。 |
| 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服务时出现错误。 |
| 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 | 由于数据更改操作,一段时间内不允许调整。 |
| 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 中的变量数量。 |
| SQLSTATE 值 | 含义 |
|---|---|
| 5UA01 | 无法除去任务,因为当前正在执行该任务。 |