表 26 列出了 DB2 Everyplace SQL 引擎报告的 SQL 语句的所有 SQLSTATE。
DB2 CLI 报告的 SQLSTATE
列示在DB2 CLI 函数摘要中的每个 DB2 CLI 函数描述下面。
SQLSTATE | 描述 | 解释 |
---|---|---|
01000 | 警告。 | 参考消息。(函数返回 SQL_SUCCESS_WITH_INFO。) |
01004 | 值被截断。 | 值被系统强制转换或调整函数截断。 |
01550 | 未创建索引。 | 因为已存在具有指定描述的索引,所以未创建索引。 |
02000 | 找不到任何行。 | 执行 FETCH、DELETE 或 UPDATE 语句期间,找不到任何行。 |
07001 | 参数数目不正确。 | 参数标记尚未绑定。 |
07005 | 参数无效。 | 游标的语句名所标识的已准备语句不能与游标相关联。 |
07006 | 变量无效。 | 因为输入主变量的数据类型不正确,所以不能使用它。 |
08002 | 连接已存在。 | 连接已存在。 |
22001 | 值需要截断。 | 值需要被系统强制转换或调整函数截断。 |
22002 | 未提供空指示符。 | 因为未提供存储器,所以不能赋予 NULL 值。 |
22003 | 数值超出范围。 | 数值不在其目标列的范围之内。 |
22007 | 日期时间格式无效。 | 日期时间值的字符串表示法语法不正确。 |
22008 | 日期时间值超出范围。 | 日期时间值的字符串表示法超出范围。 |
22012 | 除零。 | 尝试了除零操作。 |
22504 | 分段 MBCS 字符。 | 数据包含格式不正确的多字节字符。 |
23502 | 不允许空值。 | 不允许对 NOT NULL 列赋予 NULL 值。 |
23505 | 值不是唯一的。 | 因为可能会生成重复键,所以操作无效。 |
23513 | 值无效。 | INSERT 或 UPDATE 语句的结果行不符合检查约束定义。 |
23515 | 指定了多个主键子句。 | 指定了多个主键子句。 |
24000 | 游标状态无效。 | StatementHandle 处于已执行状态,但没有任何结果集与 StatementHandle 相关联。 |
24501 | 游标未打开。 | 因为未生成结果集,所以 FETCH 无效。 |
24505 | 游标未定位。 | 因为游标未定位在行上,所以 FETCH 无效。 |
34000 | 游标名无效。 | 游标名无效。 |
42501* | 不允许授权标识对标识的对象执行指定的操作 | 当前用户正尝试从不存在的用户除去特权。 |
42502* | 不允许授权标识执行指定的操作 | 当前用户不具有已认证的连接。 当应用程序(它不具有加密库或 CryptoPlugin.dll)执行与加密相关的 SQL 命令(GRANT、REVOKE 和 CREATE TABLE)时,将返回“42502”错误。这将避免应用程序崩溃。 |
42505* | 发生了连接授权故障。 | 已注册的用户试图连接,但无法认证。 |
42506* | 所有者授权故障。 | 不能认证已连接的用户。(错误的密码。) |
42601 | 语法错误。 | 在 SQL 语句中检测到语法错误。 |
42603 | 字符串常量没有结束定界符。 | 字符串常量或定界标识没有结束定界符。 |
42610 | 参数标记的使用无效。 | 语句包含无效的参数标记。请参阅表 19 以了解参数标记的有效用法。 |
42611 | 长度规范无效。 | 长度规范超过限制。 |
42614 | 重复的关键字无效。 | 重复的关键字无效。 |
42621 | 检查约束无效。 | 检查约束无效。 |
42622 | 名称太长。 | 标识的名称太长。 |
42702 | 列名引用混乱。 | 可能正在引用多个列。 |
42703 | 列名未定义。 | 列名不在引用的表中。 |
42704 | 对象未定义。 | 表不存在。 |
42710 | 命名的对象已存在。 | 已存在同名的表。 |
42711 | 列名重复。 | 多次指定相同的列名。 |
42802 | 值的数目与列的数目不匹配。 | 指定的值的数目与指定或隐含的列数不同。 |
42803 | SELECT 列表中的列引用未在 GROUP BY 子句中指定。 | 选择列表中包含列名和聚集函数,但没有 GROUP BY 子句。 |
42818 | 操作数的数据类型不兼容。 | 操作的操作数数据类型不兼容。 |
42820 | 文字值超出范围。 | 指定的数值不在可接受的范围之内。 |
42821 | 数据类型不兼容。 | 值与目标列的数据类型不兼容。 |
42822 | ORDER BY 项无效。 | ORDER BY 项不在选择列表中。 |
42824 | LIKE 操作数无效。 | LIKE 的操作数不是字符串,或第一个操作数不是列。 |
42829 | FOR UPDATE OF 无效。 | 因为不能修改游标所指示的结果表,所以 FOR UPDATE OF 无效。 |
42830 | 外键不符合父键的描述。 | 外键不符合父键的描述。 |
42831 | 主键中存在可空的列。 | 主键子句中指定的列不能是可空的。 |
42832* | 越权访问系统对象。 | 不允许对系统对象执行此操作。 |
42884 | 函数名未知。 | 找不到带有指定名称和兼容自变量的函数或过程。 |
42887 | 功能不受支持。 | 该功能在当前发行版中不受支持。 |
42894 | DEFAULT 值无效。 | DEFAULT 值无效。 |
42902 | 对象表引用重复。 | FROM 子句中也标识了 INSERT 语句的对象表。 |
42903 | WHERE 子句或 SET 子句包含无效的引用。 | WHERE 子句或 SET 子句包含无效的引用,如列函数。 |
42962 | LOB 列不能用作键。 | LOB 列不能用作主键。 |
54001 | 语句太长。 | 查询语句太长。 |
54008 | 键太长。 | 主键、外键或索引中的列太多。 |
54010 | 表记录长度太长。 | 表的记录长度太长。 |
55002 | DB2ePLANTABLE 未正确定义。 | DB2ePLANTABLE 的声明不正确,不能执行 EXPLAIN。 |
55009 | 文件是只读的。 | 文件是只读的。在只读环境中,只能执行 SELECT 查询。 |
57001 | 表不可用。 | 不能对处于事务作用域之下的表执行 REORG。 |
57011 | 内存不足。 | 系统无法分配动态内存。 |
57014 | 处理因中断而被取消。 | 查询的执行因用户中断而被取消。 |
58004 | 内部系统错误(继续)。 | 发生不严重的系统错误。 |
58005 | 内部系统错误(停止)。 | 发生严重的系统错误。 |
相关参考