DB2 SQLCODE信息介绍

最近在进行嵌入SQL开发,调试程序的时候涉及到一些SQLCODE和SQLSTATE,准确的定位这些错误或者警告,能快速的定位问题所在,

下面是来自于网络的sqlcode和salsate的一些信息。

DB2错误信息(按sqlcode排序)

sqlcode    sqlstate   说明

000      00000       SQL语句成功完成

              01xxx        SQL语句成功完成,但是有警告

+012         01545       未限定的列名被解释为一个有相互关系的引用

+098         01568       动态SQL语句用分号结束

+100         02000       没有找到满足SQL语句的行

+110         01561       用DATA CAPTURE定义的表的更新操作不能发送到原来的子系统

+111         01590       为2型索引设置了SUBPAGES语句

+117         01525       要插入的值的个数不等于被插入表的列数

+162         01514       指定的表空间被置为检查挂起状态

+203         01552       使用非唯一的名字来解决命名的限定列

+204         01532       命名的对象未在DB2中定义

+206         01533       命名的列不在SQL语句中指定的任何表中存在

+218         01537       因为SQL语句引用一个远程对象,不能为该SQL语句执行EXPLAIN

+219         01532       命名的PLAN TABLE不存在

+220         01546       不正确定义PLAN TABLE,检查命名列的定义

+236         01005       SQLDA中的SQLN的值至少应于所描述的列的个数一样大

+237         01594       至少有一个被描述的列应该是单值类型,因此扩展的SQLVAR条目需要另外的空间

+238         01005       至少应有一个被描述的列是一个LOB,因此扩展的SQLVAR条目需要另外的空间

+239         01005       至少应有一个被描述的列应是单值类型,因此扩展的SQLVAR条目需要另外的空间

+304         01515       该值不能被分配给宿主变量,因为该值不再数据类型的范围之内

+331         01520       不能被翻译的字符串,因此被设置为NULL

+339         01569       由于与DB2 2.2版本的子系统连接,所以可能存在字符转换问题

+394         01629       使用优化提示来选择访问路径

+395         01628       设置了无效的优化提示,原因代码指定了为什么,忽略优化提示

+402         01521       未知的位置

+403         01522       本地不存在CREAT ALIAS对象

+434         01608       在DB2未来发布的版本中将不支持指定的特性,IBM建议你停止使用这些特性

+445         01004       值被CAST函数截取

+462         01Hxx       由用户定义的函数或存储过程发出的警告

+464         01609       命名的存储过程超出了它可能返回的查询结果集的个数限制

+466         01610       指定由命名的存储过程返回的查询结果集的个数。成功完成

+494         01614       由存储过程返回的结果集的个数超过了由ASSOCIATELOCATORS语句指定的结果集定位器的个数

+495         01616       因为倒台SQL的成本估算超出了在ELST中指定的警告阀值,所以发出警告

+535         01591       请求一个主健的定位更新,或请求一个使用自我引出 约束的表的删除操作

+541         01543       命名外健是一个重复的引用约束

+551         01548       命名的授权ID缺少在命名的DB2对象上执行命名操作的权限

+552         01542       命名的授权ID缺少执行命名操作的权限

+558         01516       已经被授权该PUBLIC,因此WITH GRANTOPTION不可用

+561         01523       对ALTER REFERENCESINDEX 和TRIGGER特权,PUBLIC AT ALL LOCATION无效

+562         01560       因为GRANTEE已经拥有这些特权,所以一个或更多的特权被忽略

+585         01625       模式名指定了不止一次

+599         01596       没有为长字符数据类型(BLOB,CLOB和DBCLOB)建立比较函数

+610         01566       由于建立了一个指定为DEFER YES的索引,指定的对象处于PENDING状态,

或者因为使用了ALTERINDEX改变关键值的范围,所以指定的对象处于PENDING状态

+625         01518       因为删除了主健索引,所以表定义被标注为不完整

+626         01529       删除了加强UNIQUE约束的索引,唯一性不在被加强

+645         01528       因为建立的索引中没有包含NULL,所以WHERE NOTNULL被忽略

+650         01538       不能更改或者建立已命名的表为从属表

+653         01551       在已指定的分区表空间中尚没有建立指定的分区索引,所以分区索引不可得

+655         01597       为CREATE或ALTERSTOGROUP语句指定特定或者非特定的卷ID,

在DB2较新发布的版本中(版本6以后)将不再支持他们

+658         01600       当建立目录索引时,不能指定SUBPAGES语句,SUBPAGES将被忽略,并缺省为1

+664         01540       分区索引的限制关键字超出了最大值

+738         01530       已命名的对象的更改可能像只读系统中对象的改变要求一样

+799         0157         SET语句中引用的特定寄存器不存在,将忽略SET请求

+802         01519       数据溢出或者因除法异常而引起的数据异常错误

+806         01553       ISOLATION(RR)与LOCKSIZEPAGE 冲突

+807         01554       由于十进制乘法导致溢出

+863         01539       连接成功,但是只支持SBCS

+2000       56094       SUBPAGES不等于1的1型索引不能成为数据共享环境中的缓冲池组依赖者

+2002       01624       因为指定的缓冲池不允许超高速缓存,GNPCACHE指定被忽略

+2007       01602       因为DB2子系统的参数禁用“提示(hiats)”所以不能指定优化提示

+30100     01558       分布式协议错误被检测到,提供原来的SQLCODE和SQLSTATE

-007 42601       SQL语句中由非法字符

-010 42603       字符串常量非正常终止;检查到有遗漏的引号标志

-029 42601       需要INTO语句

-060 42815       某特定数据类型的长度或者标量规范无效

-084 42612       不能执行SQL语句,因为该语句对动态SQL无效或者对OS/390的DB2无效

-097 42601       在单位类型、用户自定义的函数以及过程中不能使用带有CAST的LONG VARCHAR或LONGVARGRAPHIC

-101 54001       SQL语句超出了已确定的DB2限制:例如,表的数目太多,语句中的字节太多

-102 54002       字符串常量太长

-103 42604       无效数学文字

-104 42601       SQL语句中遇到非法符号

-105 42604       无效的字符串格式;通常引用一个格式不正确的图形字符串

-107 42622       对象名太长

-108 42601       RENAME语句中指定的名字有错误,不能使用限定词

-109 42601       指定了无效语句;例如CREATE VIEW不能包含ORDER BY 语句

-110 42606       遇到了无效的十六进制的文字

-111 42901       指定的列函数没有给出列名

-112 42607       无效的列函数语法;列函数不能运行与其他的列函数之上

-113 42602       遇到无效字符

-114 42961       该语句的位置名称必须与当前服务器匹配,但是却没有匹配

-115 42601       因为比较运算符没有伴着一个表达式或者列表,遇到了无效谓词

-117 42802       待插入的数值的个数于被插入的行中的列数不相等

-118 42902       数据修改语句(UPDATE或DELETE)和FROM语句中的表和视图命名不合法

-119 42803       HAVING语句中的列的列表与GROUP BY语句中的列列表不匹配

-120 42903       不允许WHERE语句、SET语句、VALUES语句或者SETASSIGNMENT语句引用列函数

-121 42701       在INSERT或UPDATE语句中,某一列被非法引用了两次

-122 42803       非法使用了列函数。因为没有用于一个列函数的所有列不再GROUP BY语句中

-123 42601       特定位置的参数必须是一个常数或者一个关键词

-125 42805       ORDER BY语句中指定了无效数字,该数字要么小于1要么大于选定的列数

-126 42829       不能为一个UPDATE语句指定ORDER BY语句

-127 42905       在子选择中DISTINCT只能指定一次

-128 42601       SQL谓词中NULL使用不当

-129 54004       SQL语句中包含的表多于15个

-130 22019       ESCAPE语句必须为一个字符

22025       无效的ESCAPE模式

-131 42818       LIKE谓词只能用于字符数据

-132 42824       LIKE语句、ESCAPE语句、LOCATE函数或POSSTR函数中有无效运算对象

-133 42906       无效相关子查询引用

-134 42907       大于255字节的列被不正确使用

-136 54005       排序关键字的长度大于4000字节

-137 54006       被连接的字符串太大;字符的最大值为32767;图形的最大值为16382

-138 22011       SUBSTR列函数的第二个或第三个操作符无效

-142 42612       不支持的SQL语句。该语句可能在另外的RDBMS上有效,也有可能在其他的上下文中有效(例如,VALUES只能在触发器中出现)

-144 58003       指定的段号无效

-147 42809       某一源函数不能更改。要改变源函数,必须删除该源函数并重新建立他

-148 42809       RENAME和ALTER无法执行。RENAME不能对视图或者活动RI.ST表重新命名。

ALTER不能用于改变列的长度,因为该列参与了RI、一个用户退出程序、

全局的临时表或打开DATACAPTURECHANGES表的列

-150 42807       触发活动的INSERT,UPDATE或DELETE语句中指定了无效的视图更新或一个无效的转换表

-151 42808       试图更新一个不可更新的视图的列、一个DB2CATALOG表的列或者一个ROWID列

-152 42809       DROP CHECK试图删除一个参照约束,或者DROPFOREIGN试图删除一个检查约束

-153 42908       无效的视图建立请求,必须为旋转列表中列出的列出的未命名的列或者重复的列提供一个名字

-154 42909       不能用UNION、UNION ALL或者一个远程表建立视图

-156 42809       在视图上建立索引是非法的,或者在ALTERTABLE,CREATE TRIGGER,DROP TABLE或

LOCK TABLE语句上指定一个不是表的其他对象这是无效的

-157 42810       必须在FOREIGN KEY语句中指定一个表名

-158 42811       视图的列和选择列表中的列不相匹配

-159 42089       无效DROP或COMMENT ON语句

-160 42813       对该视图的WITH CHECKOPTION无效

-161 44000       正被更新的视图WITH CHECKOPTION语句使得这行不能被插入或更新

-164 42502       用户没有建立这个视图的权限

-170 42605       标量函数指定了无效的参数个数

-171 42815       标量函数指定了无效的数据类型长度或者无效数值

-173 42801       在非只读型的游标上不能指定隔离级别UR

-180 22007       DATE、TIME、TIMESTAMP值的字符串表示法的语法不对

-181 22001       不是有效的DATE、TIME、TIMESTAMP值

-182 42816       在算术表达式中的日期/时间值无效

-183 22008       在算术表达式中返回的日期/时间值的结果不在有效值的范围内

-184 42610       没有正确使用日期/时间值的参数标记

-185 57008       没有定义本定的日期/时间出口

-186 22505       改变本定的日期/时间出口引发这个程序的长度无效

-187 22506       MVS返回无效的当前日期/时间

-188 22503       字符串表示无效

-189 22522       指定的编码字符集的ID无效或没有定义

-190 42837       不能象所设定的那样改变(ALTER)列。只能改变(ALTER)VARCHAR列的长度

-191 22504       字符串中包含了无效的混合数据

-197 42877       当两个或多个表被联合在一起排序时,限定的列名不能在ORDER BY语句中使用

-198 42617       试图对空的字符串发布一个PREPARE或EXECUTEIMMEDIATE语句

-199 42601       SQL语句中使用了非法关键词

-203 42702       模糊列引用

-204 42704       没有定义的对象名

-205 42703       指定的表的列名无效

-206 42703       列名没有在FROM语句所引用的任何表中,或者没有在定义触发器所在的表中

-208 42707       不能ORDER BY指定列,应为该列不在选择列表中

-212 42712       指定的表名在触发器中不允许多次使用,只能使用一次

-214 42822       DISTINCT、ORDER BY 引起的无效表达式

-219 42704       因为PLAN_TABLE不存在,EXPLAIN无法执行

-220 55002       遇到无效的PLAN_TABLE列

-221 55002       如果为PLAN_TABLE定义了可供选择的列,那么,必须定义所有的列

-229 42708       指定的现场找不到

-240 428B4       LOCK TABLE语句的PART子句无效

-250 42718       没有定义本地位置名

-251 42602       记号无效

-300 22024       宿主变量或参数中的字符串不是以NULL为终止

-301 42895       无效的宿主变量数据类型

-302 22001       输入的变量值对指定的列无效

22003       输入的变量值对指定的列而言太大

-303 42806       因为数据类型不兼容,不能分配数值

-304 22003       因为数据超出了范围,不能分配数值

-305 22002       没有NULL指示符变量

-309 22512       因为引用的宿主变量被设置成NULL,所以谓词无效

-310 22501       十进制的宿主变量或参数包含非十进制数据

-311 22501       输入的宿主变量长度无效,或者时负值或者太大

-312 42618       没有定义宿主变量或者宿主变量不可用

-313 07001       宿主变量的个数不等于参数标识的个数

-314 42714       模糊的宿主变量引用

-327 22525       在最后分区的关键字范围内,不能插入行

-330 22021       不能成功的翻译字符串

-331 22021       字符串不能分配到宿主变量,因为其不能成功的被翻译

-332 57017       不能为两个命名的编码字符集的ID定义翻译规则

-333 56010       子类型无效导致翻译失败

-338 42972       ON语句无效,必须引用连接的列

-339 56082       访问DB2 2.2版本的子系统被拒绝,原因时ASCII到EBCDIC翻译不能进行

-350 42962       无效的大对象规范

-351 56084       SELECT列表中有不支持的数据类型

-352 56084       输入列表中有不支持的数据类型

-355 42993       LOB列太大,以至不能被记录在日志中

-372 428C1       每个表只允许有一个ROWID列

-390 42887       在上下文中指定的函数无效

-392 42855       自从前一次FETCH以来,指定游标的SQLDA已被不恰当的改变

-396 38505       在最后的访问过程中,视图执行SQL语句

-397 428D3      在某一列上不恰当的指定了GENERATED因为该列不是ROWID数据类型

-398 428D2      为某一个宿主变量请求LOCATOR,但是该宿主变量不是一个LOB

-399 22511       在INSERT语句中为ROWID列指定的值无效

-400 54027       在DB2编目中定义的用户自定义索引不能超过100个

-401 42818       算术操作符或比较操作符的操作对象不是兼容的

-402 42819       算术函数不能用于字符或日期时间数据

-404 22001       SQL语句指定的字符串太长

-405 42820       数值文字超出了范围

-406 22003       计算出的或者倒出的数值超出了范围

-407 23502       不能把NULL值插到定义为NOTNULL的列中

-408 42821       数值不能被更新或插入,因为他与列的数据类型不兼容

-409 42607       COUNT函数指定的运算对象无效

-410 42820       浮点文字笔30个字符的最大允许长度长

-411 56040       CURRENT SQLID使用无效

-412 42823       在子查询的选择列表中遇到了多个列

-413 22003       当转换为一个数字型数据类型时,数据溢出

-414 42824       LIKE谓词不能运行于用数字或日期时间类型定义的列

-415 42825       为UNION操作指定的选择列表不是联合兼容的

-416 42907       包含UNION操作符的SQL语句不允许有长的字符串列

-417 42609       两参数标识符作为运算对象被指定在同一谓词的两边

-418 42610       参数标识符使用无效

-419 42911       十进制除法无效

-420 22018       字符串自变量值不符合函数的要求

-421 42826       UNION操作的选择列表中没有提供相同数目的列

-423 0F001       为LOB或结果集定位器指定的值无效

-426 2D528      在不允许更新的应用服务器不允许执行COMMIT语句

-427 2D529      在不允许更新的应用服务器不允许执行ROLLBACK语句

-430 38503       在用户自定义的函数或存储过程中遇到了错误

-433 22001       指定的值太长

-435 428B3       无效的应用定义的SQLSTATE

-438 xxxxx         使用了RAISE_ERROR函数的应用发出了一个错误

-440 42884       存储过程或用户自定义函数的参数列表参数个数于预期的个数不匹配

-441 42601       与标量函数一起使用DISTINCT或ALL是不正确的用法

-443 42601       指定的外部函数返回错误的SQLSTATE

-444 42724       与被称为存储过程或用户自定义函数有关的程序不能找到

-449 42878       对存储过程或用户自定义的 函数,CREATE或ALTER语句不正确(缺失EXTERNALNAME 子句)

-450 39501       存储过程或用户自定义函数写入存储器的值超过了参数声明的长度

-451 42815       CREATE FUNCTION中指定了不正确的数据类型

-453 42880       用户自定义函数中的RETURNS语句无效

-454 42723       指定的函数识别标记与已存在的另一函数的识别标记冲突

-455 42882       模式名不比配

-456 42710       为用户自定义函数指定的函数名已经存在

-457 42939       用户自定义函数或用户自定义类型正试图使用系统中定义的函数或者类型所用的名称

-458 42883       没有找到函数

-463 39001       特定的外部例程返回无效的SQLSTATE

-469 42886       参数定义为OUT或INOUT的CALL语句必须提供宿主变量

-470 39002       指定了NULL参数,但是该例程却不支持NULL

-471 55023       存储过程或用户自定义函数失败:提供原因代码

-472 24517       外部的函数程序使游标处于打开状态

-473 42918       用户自定义数据类型命名不能和系统定义的数据类型一样

-475 42866       结果类型不能被转换成RETURNS类型

-476 42725       在其模式中该函数不是独一无二的

-478 42893       不能DROP或REVOKE特定的对象,因为其他对象依赖于该对象

-480 51030       直到存储过程已经被CALL后,DESCRIBEPROCEDURE和ASSOCIATE LOCATORS才能被发布

-482 51030       存储过程不返回到任何一个定位器

-483 42885       CREATE FUNCTION语句中的参数个数与源函数中的参数个数不匹配

-487 38001       选择了NO SQL选项建立指定的存储过程或用户自定义函数,但却视图发布SQL语句

-491 42601       CREATE FUNCTION语句无效,因为该语句没有RETURNS语句或者因为该语句没有指定有效的

SOURCE或者EXTERNAL语句

-492 42879       指定函数的指定参数的个数有错误

-495 57051       语句的估计处理器成本超出了资源限制

-496 51033       语句无法执行,因为当前服务器与调用存储过程的服务器不同

-497 54041       指定的数据库超过了32767 OBID的上限,或者CREATEDATABASE语句使之达到了32511DBID的上限

-499 24516       指定的游标已被分配到结果集,该结果集来自已经指定的存储过程

-500 24501       因为连接被破坏,WITH HOLD游标被关闭

-501 24501       在试图获取数据或关闭一个游标前必须打开一个游标

-502 24502       在没有关闭游标前不能再次打开游标

-503 42912       因为列在游标的FOR UPDATE OF语句中没有被指定,该游标用于获取该列,所以不能更新该列

-504 34000       不能引用一个游标,因为他不是定义到程序里的

-507 24501       在试图更新或者删除WHERECURRENT OF前,必须打开游标

-508 24504       因为被引用的游标当前不是处于数据行上,所以不能被更新或删除

-509 42827       除了在游标上指定的那个表(该表由WHERECURRENT OF语句引用的)以外,

再也不能从别的表上更新数据

-510 42828       表或视图不能被修改

-511 42829       对不可修改的表或视图,FOR UPDATEOF语句无效

-512 56023       对远程对象的无效引用

-513 42924       一个别名不能再被定义成另外的别名

-514 26501       游标尚没有被准备

-516 26501       试图描述未准备好的SQL语句

-517 07005       因为SQL语句尚没有准备好,游标无效

-518 07003       试图执行尚没有准备好的SQL语句

-519 24506       当为游标的SQL语句发布一个准备语句是,游标不能是打开的

-525 51015       不能在已指定的程序包中执行SQL语句,因为在绑定时间内该程序包无效

-526 42995       在给定的上下文中,不能使用全局的临时表

-530 23503       对特定的约束名指定了无效的外健值

-531 23504       从版本5开始,父关键字的多行更新将试图删除一个外关键字依赖的父关键字值,在版本5以前,

                             当引用主关键值外健值当前存在时,试图更新该主健值

-532 23504       删除操作违反了已指定的参照约束

-533 21501       多行插入无效,试图将多行插到自我引用的表中

-534 21502       可改变主健列值的更新语句不能在同一时刻用于更新多行

-535 21502       当从自我引用表中删除数据或者更新主健列时,不能指定WHERE CURRENT OF。

                          不是版本5的子系统才调用该代码

-536 42914       因为某一特定表的参照约束存在,所以删除语句无效

-537 42709       在外健语句或主健语句的规范中,每个列的出现不能多于一次

-538 42830       无效的外健;不符合引用的表没有主健

-539 42888       不能定义外健,因为被引用的表没有主健

-540 57001       表定义不完整,直到为主健建立了唯一索引或UNIQUE语句、或者包含GENERATEDBYDEFAULT属性的ROWID列

-542 42831       可以为空的列不允许作为主健的一部分包含在内

-543 23511       因为该表是指定了SET NULL删除规则的参照约束的父表而且检查约束不允许NULL,所以DELETE不能发生

-544 23512       不能用ALTER添加检查约束,因为已存在的某行与该检查约束冲突

-545 23513       INSERT或者UPDATE导致检查约束冲突

-546 42621       在CREATE或ALTER TABLE中指定的检查约束无效

-548 42621       因为指定的列而引起的检查约束无效

-549 42509       DYNAMICRULES(BIND)计划或程序包的无效SQL语句

-551 42501       用户试图对不拥有权限的特定的对象进行操作,或者表不存在

-552 42502       用户试图执行未被授权的操作

-553 42503       不能指定CURRENT SQLID,因为用户尚没有被允许改变那个ID

-554 42502       不能对你本身赋予一个权限

-555 42502       不能对你本身撤销一个权限

-556 42504       不能撤销用户没有拥有的权限

-557 42852       指定了不一致的授予或撤销关键词

-558 56025       为授予或撤销语句指定了无效的语句(一个或一组)

-559 57002       DB2权限机制已经禁用,授予或者撤销不能被发布

-567 42501       指定的权限ID缺少对指定的程序包的绑定权限

-571 25000       不允许多点更新

-573 42890       不能定义参照约束,因为已指定的父表中在指定的列上没有唯一健

-574 42864       指定的缺省与列定义冲突

-577 38002       试图修改用户自定义函数中的数据或者存储过程中的数据,但这些对象的建立没有选择MODIFIES SQL DATA选项

-579 38004       试图修改用户自定义函数中的数据或者存储过程中的数据,但这些对象的建立没有选择READ SQL DATA选项,也没有选择MODIFIES SQL DATA选项

-580 42625       CASE表达式中的结果表达式不能都是空的

-581 42804       CASE表达式中的结果表达式为不兼容的数据类型

-582 42625       SEARCHED-WHEN-CLAUSE中的查找条件指定了一个限定的、IN或EXISTS谓词

-583 42845       指定的函数失败,因为他不是决定性的,或者可能有外部动作

-585 42732       在当前路径中模式名不止一次出现

-586 42907       CURRENT PATH专用寄存器在长度上不能超过254字符

-587 428C6       项目引用的列表必须是同一个家族

-590 42734       在命名的存储过程或用户自定义的函数中的参数必须是独一无二的

-592 42510       没有授权权限,让你在WLM环境中建立的存储过程或者用户自定义函数

-601 42710       试图创建(或重命名)已经存在的对象

-602 54008       CREATE INDEX语句中指定的列太多

-603 23515       因为发现有重复值,所以不能建立唯一的索引

-604 42611       在CREATE或ALTER TABLE语句中的为数据类型指定的长度、精度以及标度无效

-607 42832       指定的INSERT、UPDATE或DELETE语句不能被发布,应为这些语句对DB2 CATLOG表执行写操作

-611 53088       当LOCKSIZE是TABLE或者TABLESPACE时,LOCKMAX必须为0

-612 42711       在同一个表、索引或试图中不允许有重复列名

-613 54008       主健或UNIQUE约束太长或者包含了太多的列

-614 54008       已经超过了索引的内部健长度的最大长度(255)限制

-615 55006       不能删除这个程序包,因为该程序包目前正在执行

-616 42893       指定的对象不能被删除,因为其他对象依赖于该对象

-617 56089       对于DB2版本6,1型索引无效。对于以前的版本,1型索引不能用LOCKSIZE ROW或LARGE表空间定义

-618 42832       对DB2 CATALOG表的请求操作时不允许的

-619 55011       DSNDB07不能修改,除非他先被停止了

-620 53001       对在DSNDB07中的表空间不允许指定该关键词

-621 58001       遇到了重复的DBID,遇到了系统问题

-622 56031       不能指定FOR MIXED DATA因为没有安装混合数据选项

-623 55012       不能为单一的表定义多个族索引

-624 42889       不能为单一的表定义多个主健

-625 55014       用主健定义的表要求唯一索引

-626 55015       不能发布ALTER语句来改变PRIQTYSECQTY或ERASE,除非先停止了表空间

-627 55016       不能发布ALTER语句来改变PRIQTYSECQTY或ERASE,除非先把表空间定义为使用存储器组的表空间

-628 42613       指定语句时相互排斥的(例如,不能分区一个分段的表空间)

-629 42834       因为该外健不能包含空值,所以SETNULL无效

-630 56089       不能为1型索引指定WHERENOT NULL

-631 54008       无效的外健;要么是比254个字节长,要么包含的列数多于40

-632 42915       指定的删除规则禁止把这个表定义为已制定表的从属表

-633 42915       无效删除规则;必须使用特定的强制删除规则

-634 42915       在这种情况下,DELETE CASCADE不允许

-635 42915       删除规则不能有差异或者不能为SETNULL

-636 56016       在分区索引健的升序或降序规范中,分区所以必须与该规范一致

-637 42614       遇到重复的关键词

-638 42601       在CREATE TABLE语句中缺少列定义

-639 56027       带有SET NULL的删除规则的外健的可空列不能是分区索引的列

-640 56089       不能为这个表空间指定LOCKSIZEROW,因为在该表空间中的表上定义了1型索引

-642 54021       唯一约束包含太多的列

-643 54024       检查约束超出了3800个字符的最大长度

-644 42615       在SQL语句中为关键词指定的值无效

-646 55017       在指定的分区表空间或者缺省表空间中不能创建表,因为指定的表空间已经包含了一个表

-647 57003       指定的缓冲池无效,因为他没有被激活

-650 56090       ALTER INDEX不能被执行;提供了原因代码

-651 54025       如果CREARE或ALTER TABLE被允许,表对象的描述词(objectdescriptor,OBD)将超过最大值(32KB)

-652 23506       遇到了EDITRPROC或VALIDPROC冲突

-653 57004       在分区表空间中的表不可用,因为分区索引尚未被创建

-655 56036       在卷的列表中,STOGROUP不能指定为特定的或不特定(“*”)的卷

-658 42917       当试图删除指定的对象时,无法删除该对象,该对象的删除必须通过删除与之相关联的对象完成

-660 53035       不正确的分区索引规范,必须为族索引定义有限制的关键字

-661 53036       分区索引没有指定恰当的分区数目

-662 53037       试图在未分区的表空间(分段的或简单的)上建立分区索引

-663 53038       为分区索引指定的关键字限制值是一个无效数字

-665 53039       为ALTER TABLESOACE语句指定了无效的PART语句

-666 57005       SQL语句不能被处理,因为指定的函数当前正处于进行过程中

-667 42917       不能明确的删除分区表空间的族索引,必须除去分区表空间来去掉分区索引

-668 56018       不能向用EDITPROC定义的表中添加列

-669 42917       不能显式的删除分区表空间中的表,必须删除分区表空间来删除表

-670 54010       表的记录长度超过了页面的大小

-671 53040       不能更改指定的表空间的缓冲池,因为这将改变表空间的页面大小

-672 55035       在命名的表上不允许DROP

-676 53041       只有4KB的缓冲池可被用于一个索引

-677 57011       缓冲池扩展失败,由于可用的虚拟内存的大小不足

-678 53045       为才分区索引中指定的限制健提供的值与数据类型不符

-679 57006       不能创建某一个特定对象,因为该对象的一个drop目前正在挂起

-680 54011       对DB2表不能超过750列

-681 23507       列违反了指定的FIELDPROC

-682 57010       不能载入FIELDPROC

-683 42842       列、单值类型、函数或者过程无效,因为不兼容语句。例如,指定的INTEGER具有FORBITDATA选项

-684 54012       指定的文字列表不能超过254个字节

-685 58002       FIELDPROC返回一个无效的域描述

-686 53043       用FIELDPROC定义的一个列不能与一个使用不同的FIELDPROC定义的列作比较

-687 53044       列不能与一个非兼容字段类型的列比较

-688 58002       返回不正确的数据

-689 54011       从属表定义了太多的列

-690 23508       数据定义的控制支持拒绝这个语句

-691 57018       命名的注册表不存在

-692 57018       命名的索引不存在,但命名的注册表需要该索引

-693 55003       命名的注册表/索引的命名列无效

-694 57023       DROP正在命名的注册表上挂起

-696 42898       由于相关的名字或者转换表的名字使用不正确,指定的触发器无效

-697 42899       FOR EACH语句被指定,因此与OLD合NEW相关的名字是不允许的,或者不能为一个BEFORE触发器指定OLD_TABLE和NEW_TABLE

-713 42815       指定的专用寄存器是无效的

-715 56064       命名的程序不能被运行,因为他依赖与你所安装的DB2版本的部件,但是你的数据中心没有安装这个部件

-716 56065       命名的程序使用这个版本的不正确的发行版本做了预编译

-717 56066       BIND失败,因为他依赖与你所安装的DB2版本的部件,但是你的数据中心没有安装这个部件

-718 56067       REBIND失败,因为IBMREQD列无效

-719 42710       不能BIND ADD一个已经存在的程序包

-720 42710       不能BIND REPLACE一个已经存在的程序包版本

-721 42710       程序包的一致性记号必须是独一无二的

-722 42704       绑定错误,因为指定的程序包不存在

-723 09000       一个触发的SQL语句接受到一个错误

-724 54038       达到了(16)级联间接的SQL语句的最大项目

-725 42721       对专门指定的寄存器提供了一个无效值

-726 55030       因为SYSPKSYSTEM条目,不能绑定这个程序包

-728 56080       指定的数据类型不能与私有协议发布一起使用

-729 429B1       用COMMIT ON RETURN定义的存储过程不能用作嵌套的CALL过程的目标

-730 56053       在只读的共享数据库中为表定义的参照完整性无效

-731 56054       VSAM数据集必须用SHAREOPTION(1.3)定义

-732 56055       被定义为只读型数据库却拥有没有定义空间或者索引空间的DB2子系统

-733 56056       只读共享数据库的定义不一致

-734 56057       一旦一个数据库被定义为ROSHAREREAD,他将不能被更改为其他不同的ROSHARE状态

-735 55004       用DBID名称标识的数据库不再是一个只读共享数据库

-736 53014       命名的DBID无效

-737 53056       在这种状况下,不能建立一个隐含的表空间

-739 56088       因为同时指定了ALLOW PARALLEL和MODIELES SQLDATA这两个语句,因此已设定的函数将不能再被更改

-740 51034       在这种方式下不能用MODIELES SQLDATA定义指定的函数

-741 55030       已经为命名的共享组成员的数据定义了工作文件数据库

-742 53004       DSNDB07是隐含的工作文件数据库

-746 57053       在特定的触发器、存储过程或函数中的SQL语句违反嵌套SQL限制

-747 57054       指定的表是不可用的除非为LOB数据列建立起必须的辅助表

-748 54042       在指定的辅助表上已经有一个索引

-750 42986       不能对已指定的表重新命名,因为他至少在一个现存的视图或触发器中被引用

-751 42987       存储过程或用户自定义的函数试图执行一个不允许执行的SQL语句。DB2的线程被置于MUST_ROLLBACK状态

-752 0A001       无效CONNECT语句

-763 560A1       无效的表空间名

-764 560A2       LOB表空间必须与其相关的基表空间同在一个数据库中

-765 560A3       表和数据库不兼容

-766 560A4       不能对辅助表进行请求的操作

-767 42626       CREATE INDEX失败,因为在辅助表中为索引指定了列,或者因为没有为非辅助表的索引指定列

-768 560A50    不能为指定的列或者指定的分区建立辅助表,因为其辅助表已经存在

-769 53096       CREATE AUX TABLE的规格与基表不匹配

-770 530A6       指定的表必须有一个ROWID列,那么该表才可以包含一个LOB列

-771 428C7       无效的ROWID列规范

-797 42987       CREATE TRIGGER包含不被支持的语法

-798 428C9       不能把一个值插入到用GENERATEDALWAYS定义的ROWID列

-802 22012       某一特定操作发生了异常错误。被零除

         22003       某一特定操作发生了异常错误。但不是被零除

-803 23505       不能插入行,因为这将违反唯一索引的约束

-804 07002       SQLDA的调用参数列表有误

-805 51002       在计划中没有发现DBRM或程序包名

-807 23509       对已指定的环境和连接,该程序包不可用

-808 08001       CONECT语句与程序中的第一个CONNECT语句不一致

-811 21000       当多行作为一内嵌的选择语句的返回结果是,必须使用游标

-812 22508       在CURRENT PACKAGESET中的ID集合是空白的,语句不能被执行

-815 42920       在一个内置选择语句或者一个基本谓词的子查询中,显式的或隐含的指定了GROUP BY或HAVING语句

-817 25000       执行SQL语句将可能导致禁止更新用户数据或DB2编目

-818 5103         计划<->载入组件的时间戳不匹配,在执行计划中没有从同一个预编译中建立DBRM,该预编译是作为组件载入的

-819 58004       视图不能重建,因为在DB2编目中存储的分析树长度为0

-820 58004       在这个DB2版本的DB2编目中遇到了无效值

-822 51004       在SQLDA中遇到了无效地址

-840 54004       在选择列表或插入列表中返回的项目太多

-842 08002       到指定位置的连接已经存在

-843 08003       SET CONNECTION或RELEASE语句无法执行,因为连接不存在

-870 58026       宿主变量描述符的个数不等于语句中宿主变量的个数

-872 51302       这个子系统已指定了有效的CCSID

-873 53090       同一SQL语句中,不能同时引用EBCDIC表中的定义的列和ASCII表中定义的列

-874 53901       指定对象的编码方案与其表空间的编码方案不匹配

-875 42988       指定的操作符不能用于ASCII数据

-876 53092       不能为指定的原因创建对象:提供了原因代码

-877 53093       数据库或表空间不允许用ASCII,必须使用EBCDIC

-878 53094       该PLAN——TABLE不能是ASCII,必须使用EBCDIC

-879 53095       指定对象的CREATE或ALTER语句不能将列、单值类型,某个存储过程或用户自定义函数的参数定义为以下类型:MAXEDDATA,GRAPHIC,

                            VARGRAPHIC,LONGVARGRAPHIC,因为系统没有为指定的编码方案定义相应的CCSID

-900 08003       应用处理没有连接到应用服务器,语句不能被执行

-901 58004       遇到时断时续的系统错误,该错误不能抑制后继的SQL语句的执行

-902 58005       内部控制块的指针错误,要求重新绑定

-904 57011       指定的资源不可用

-905 57014       超出了资源上限

-906 51005       因为重大错误,SQL语句无法执行

-908 23510       当前资源限制设施的规范或者自动重绑定的系统参数不允许BIND,REBIND,AUTOREBIND

-909 57007       对象已被删除

-910 57007       因为在该对象上挂起DROP,所以不能访问该对象

-911 40001       当前工作单元已被回滚

-913 57033       因为死锁或超时导致不成功执行

-917 42969       绑定程序包已经失败

-918 51021       SQL语句不能被执行,因为连接丢失

-919 56045       需要一个ROLLBACK

-922 42505       连接权限失败。试图从TSO、CICS或IMS访问DB2,同时相应的连接设施处于非活动的状态

-923 57015       因为DB2不可用,所以不能建立连接

-924 58006       遇到了DB2内部的连接错误:提供了原因代码

-925 2D521      SQL的COMMIT语句不能从CICS或IMS/TM发布

-926 2D521      SQL的ROLLBACK语句不能从CICS或IMS/TM发布

-927 51006       当正在连接的环境没有建立时,语言接口被调用。利用DSN命令激发该程序

-929 58002       数据获取退出已经失败(DPROP)

-939 51021       由于远程服务器的未请求的回滚,要求一个回滚

-947 56038       SQL语句失败,因为更新不能被传播(DPROP)

-948 56062       DDF没有启动,分布式操作无效

-950 42705       在SQL语句中指定的位置在SYSIBM.LOCATIONS中没有定义

-965 51021       存储过程非正常终止(在DB2 6之前的版本)

-981 57015       当前不是处于允许SQL的状态时,试图在RRSAF中执行SQL

-991 57015       调用连接不能建立一个到DB2的隐含或开放连接

-2001        53089       为储存过程指定的宿主变量参数的个数不等于预期的参数个数

-20003      560A7       不能为GRECP中的表空间或索引指定GBPCACHENONE

-20004      560A8       对于WORKFILE对象。8KB或16Kb的缓冲池页面大小无效

-20005      54035       指定的对象类型超出了内部的ID极限

-20006      53097       当没有指定WLM环境时,LOB不能被指定为参数

-20070      53098       不能非LOB列建立一个辅助表

-20071      53099       必须指定WLM环境名

-20072      56052       指定的权限ID不拥有在触发器程序包上执行BIND所需的权限

-20073      42927       不能按照指定的要求更改命名的函数,因为在现存的视图定义中引用了该函数

-20074      42939       不能建立指定的对象,因为“SYS”是一个保留的前缀

-20100      56059       在被触发的SQL语句中有BIND错误,指定了错误的SQLCODE和SQLSTATE

-20101      56059       由于指定的原因代码,该函数失败

-20102      42849       在CREATE或ALTERFUNCTION语句中不能使用指定的选项

-20104      42856       更改一个CCSID失败

-20106      42945       不能改变表空间或数据库的CCSID,因为现存的试图引用

-30000      58008       DRDA分布协议错误;处理可以继续

-30002      57057       使用DRDA的分布式客户把OPEN语句连接到PREPARE,但PREPARE接受到一个SQLCODE为+495的警告

-30020      58009       DRDA分布协议错误;对话被解除

-30021      58010       DRDA分布协议错误;处理不能继续

-30030      58013       违反分布协议:COMMIT不成功,对话被解除(AS)

-30040      57012       因为不能得到资源,执行失败,处理可以继续(AS)

-30041      57013       因为不能得到资源,执行失败,处理不能成功的继续(AS)

-30050      58011       执行不成功,在BIND过程中不能执行语句

-30051      58012       特定的BIND过程不是处于活动状态(远程BIND),从而导致失败

-30052      42932       程序准备的假设错误

-30053      42506       程序包的拥有者遭遇授权失败

-30060      08004       RBD遭遇授权失败

-30061      08004       指定了无效或者没有存在的RDB

-30070      58014       目标子系统不支持这个命令

-30071      58015       目标子系统不支持这个对象

-30072      58016       目标子系统不支持这个参数

-30073      58017       目标子系统不支持这个参数值

-30074      58018       应答信息不被支持

-30080      08001       SNA通信错误

-30081      58019       TCP/IP通信错误

-30082      08001       由于安全冲突、通信失败:提供了原因代码

-30090      25000       指定的操作对远程执行失败

-30104      56095       在绑定选项与绑定值中有错误

-30105      56096       指定的绑定选项不兼容


--the end--


你可能感兴趣的:(DB2 SQLCODE信息介绍)