1、1、取前 N条记录Oracle:Select * from TableName where rownum 则在 DB2下,此字段必须定义为 timestamp,而不能定义成 DATE,不然会报出字符串右截断的错误对于 DB2来说,在查询条件中可以直接用字符串指定日期或时间戳类型字段的值,例如 where create_date = 2007-04-26 、where create_timestamp = 2007-04-26 08:08:08 ,无须使用字符串转日期函数6、分页的处理如果采用 JDBC分页的话,注意 rownum在 DB2中不受支持,比如从 masa_area表中取得 area
2、_id最小的 10条记录,语句分别如下,注意这里的别名 t书写方法ORACLE: select t.* from (select rownum as r1 ,masa_area.* from masa_area order by area_id) t where t.r1用 COBOL链接 DB2时,出现 DB2错误信息时,如果你不懂代码是什么意思,可以用这份资料查找,当然你也可以直接在 db2的命令行下输入:db2 ? SQL30081N,系统会给出一些提示信息.sqlcode sqlstateDB2错误信息(按 sqlcode排序)000 00000 SQL语句成功完成01xxx SQL语
3、句成功完成,但是有警告+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语句中指
4、定的任何表中存在+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 至少应有一个被描述的列应是单值类型,因此扩展的 SQLV
5、AR条目需要另外的空间+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 值被 CAS
6、T函数截取+462 01Hxx 由用户定义的函数或存储过程发出的警告+464 01609 命名的存储过程超出了它可能返回的查询结果集的个数限制+466 01610 指定由命名的存储过程返回的查询结果集的个数。成功完成+494 01614 由存储过程返回的结果集的个数超过了由 ASSOCIATE LOCATORS语句指定的结果集定位器的个数+495 01616 因为倒台 SQL的成本估算超出了在 ELST中指定的警告阀值,所以发出警告+535 01591 请求一个主健的定位更新,或请求一个使用自我引出 约束的表的删除操作+541 01543 命名外健是一个重复的引用约束+551 01548 命名
7、的授权 ID缺少在命名的 DB2对象上执行命名操作的权限+552 01542 命名的授权 ID缺少执行命名操作的权限+558 01516 已经被授权该 PUBLIC,因此 WITH GRANT OPTION不可用+561 01523 对 ALTER REFERENCES INDEX 和 TRIGGER特权,PUBLIC AT ALL LOCATION 无效+562 01560 因为 GRANTEE已经拥有这些特权,所以一个或更多的特权被忽略+585 01625 模式名指定了不止一次+599 01596 没有为长字符数据类型(BLOB,CLOB 和 DBCLOB)建立比较函数+610 01566
8、 由于建立了一个指定为 DEFER YES的索引,指定的对象处于 PENDING状态,或者因为使用了 ALTER INDEX改变关键值的范围,所以指定的对象处于 PENDING状态+625 01518 因为删除了主健索引,所以表定义被标注为不完整+626 01529 删除了加强 UNIQUE约束的索引,唯一性不在被加强+645 01528 因为建立的索引中没有包含 NULL,所以 WHERE NOT NULL被忽略+650 01538 不能更改或者建立已命名的表为从属表+653 01551 在已指定的分区表空间中尚没有建立指定的分区索引,所以分区索引不可得+655 01597 为 CREATE
9、或 ALTER STOGROUP语句指定特定或者非特定的卷 ID,在 DB2较新发布的版本中(版本 6以后)将不再支持他们+658 01600 当建立目录索引时,不能指定 SUBPAGES语句,SUBPAGES 将被忽略,并缺省为 1+664 01540 分区索引的限制关键字超出了最大值+738 01530 已命名的对象的更改可能像只读系统中对象的改变要求一样+799 0157 SET语句中引用的特定寄存器不存在,将忽略 SET 请求+802 01519 数据溢出或者因除法异常而引起的数据异常错误+806 01553 ISOLATION(RR)与 LOCKSIZE PAGE 冲突+807 01
10、554 由于十进制乘法导致溢出+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 需要 IN
11、TO语句-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 无效的字符串格式;通常引用一个格式不正确的图形字符串-
12、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 待插入的数值的个数于被插入的行中的列数不相等