① 求解决:DB2 sql Error: SQLCODE=-413, SQLSTATE=22003, SQLERRMC=null, DRIVER=3.50.152
C或者D是数字类型吗?
E的数据类型是不是smallInt,并且查询的结果集比较大?
② 805插件已加载,命令行却出现“未知命令808”,因而805插件无法操作,怎么办
操作数据库流程中,遇到许多疑问,很多都与SQL CODE和SQL State有关,现在把一个完整的SQLCODE和SQLState不正确信息和有关解释作以下说明,一来可以自己参考,对DB2不正确自行找出原由
(声明:这是搜集网上的资料得来的,细致出处不记得了)
sqlcode sqlstate 说明
格式说明:ErrorCode:-302 SQLState:22001
-------------------------------------------
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语句执行Exp LAIN
+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 由存储流程返回的结果集的个数超过了由ASSOCIATE LOCATORS语句指定的结果集定位器的个数
+495 01616 因为倒台SQL的成本估算超出了在ELST中指定的警告阀值,所以发出警告
+535 01591 请求一个主健的定位更新,或请求一个运用自我引出约束的表的删除操作
+541 01543 命名外健是一个重复的引用约束
+551 01548 命名的授权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 由于建立了一个指定为DEFER YES的索引,指定的对象处于PENDING状态,或者因为运用了
ALTER INDEX改动关键值的范围,所以指定的对象处于PENDING状态
+625 01518 因为删除了主健索引,所以表定义被标注为不完整
+626 01529 删除了增强 UNIQUE约束的索引,唯一性不在被增强
+645 01528 因为建立的索引中没有包含NULL,所以WHERE NOT NULL被忽略
+650 01538 不能修改或者建立已命名的表为从属表
+653 01551 在已指定的分区表空间中尚没有建立指定的分区索引,所以分区索引不可得
+655 01597 为CREATE或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 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语句或者SET ASSIGNMENT语句引用列函数
-121 42701 在INSERT或UPDATE语句中,某一列被非法引用了两次
-122 42803 非法运用了列函数。因为没有用于一个列函数的所有列不再GROUP BY语句中
-123 42601 特定位置的参数必须是一个常数或者一个关键词
-125 42805 ORDERBY语句中指定了无效数字,该数字要么小于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、
一个用户退出程序、全局的临时表或打开DATACAPTURE CHANGES表的列
-150 42807 触发活动的INSERT,UPDATE或DELETE语句中指定了无效的视图更新或一个无效的转换表
-151 42808 试图更新一个不可更新的视图的列、一个DB2 CATALOG表的列或者一个ROWID列
-152 42809 DROP CHECK试图删除一个参照约束,或者DROP FOREIGN试图删除一个检查约束
-153 42908 无效的视图建立请求,必须为旋转列表中列出的列出的未命名的列或者重复的列提供一个名字
-154 42909 不能用UNION、UNION ALL或者一个远程表建立视图
-156 42809 在视图上建立索引是非法的,或者在ALTER TABLE,CREATE TRIGGER,DROP TABLE或LOCKTABLE
语句上指定一个不是表的其他对象这是无效的
-157 42810 必须在FOREIGN KEY语句中指定一个表名
-158 42811 视图的列和选择列表中的列不相匹配
-159 42089 无效DROP或COMMENT ON语句
-160 42813 对该视图的WITH CHECK OPTION无效
-161 44000 正被更新的视图WITH CHECK OPTION语句使得这行不能被插入或更新
-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或EXECUTE IMMEDIATE语句
-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不存在,Exp LAIN不能执行
-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 输入的变量值对指定的列无效
-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值插到定义为NOT NULL的列中
-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语句不正确(缺失EXTERNAL NAME 子句)
-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后,DESCRIBE PROCEDURE和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的上限,或者CREATE DATABASE语句使之达到了32511DBID的上限
③ db2 加法 报22003数值超出范围错误
-2147483647到2147483647,DB2默认为int类型,1000000000 +2000000000
超过了int类型的范围,所以报错
而20000000000 默认为bigint类型,所以不报错。
select1+2147483647fromSYSIBM.DUAL;--把1改成0就不报错
select1000000000+bigint(2000000000)fromSYSIBM.DUAL--强制转换之后不报错
④ [IBM][CLI Driver][DB2/NT] SQL0802N 发生算术溢出或其他算术异常。 SQLSTATE=22003
DB2会发生算术溢出。一般的因为除法引起的。 把除法的被除数或者除数的小数位调整下就可以了。具体结果位数可以网络下。
⑤ 如何解决postgresql 错误:08p01:无效的信息格式
Appendix A. PostgreSQL错误代码
PostgreSQL服务器发出的所有消息都赋予 了五个字符的错误代码,这些代码遵循 SQL 的"SQLSTATE" 代码的习惯。需要知道发生了什么错误条件的应用通常应该测试错误代码, 而不是查看文本错误信息。这些错误代码轻易不会随着PostgreSQL 的版本更新而修改,并且一般也不会随着错误信息的本地化而发生修改。 请注意有些(但不是全部)PostgreSQL生成的错误代码是 由 SQL 标准定义的;有些标准没有定义的错误条件是发明的或者是从其它数据库借来的。
根据标准,错误代码的头两个字符表示错误类别, 而后三个字符表示在该类别内特定的条件。因此, 那些不能识别特定错误代码的应用仍然可以从错误类别中推断要做什么。
Table A-1里面列出了PostgreSQL 8.2.3 定义的所有错误代码(有些实际上目前并没有使用, 但是 SQL 标准定义了)。错误类别也列出在此。对于每个错误类别都有个 "标准"的错误代码,它的最后三个字符是000。 这个代码只用于那些落在该类别内,但是没有赋予任何更准确的代码的错误条件。
PL/pgSQL用于每个错误代码的条件名和表中显示的措辞相同, 只是用下划线代替了空白。比如,代码22012, DIVISION BY ZERO 的条件名是DIVISION_BY_ZERO。 条件名大小写无关。(请注意PL/pgSQL并不识别警告,这一点和错误、条件名正相反;那些是 00, 01, 02 类别。)
Table A-1. PostgreSQL 错误代码
错误代码
含义
常量名
Class 00 — 成功完成
00000 成功完成 successful_completion
Class 01 — 警告
01000 警告 warning
0100C 返回了动态结果 dynamic_result_sets_returned
01008 警告,隐含补齐了零比特位 implicit_zero_bit_padding
01003 在集合函数里消除null null_value_eliminated_in_set_function
01007 没有赋予权限 privilege_not_granted
01006 没有撤销权限 privilege_not_revoked
01004 字符串数据在右端截断 string_data_right_truncation
01P01 废弃的特性 deprecated_feature
Class 02 — 没有数据(按照 SQL 标准的要求,这也是警告类)
02000 没有数据 no_data
02001 返回了没有附加动态结果集 no_additional_dynamic_result_sets_returned
Class 03 — SQL语句尚未结束
03000 SQL语句尚未结束 sql_statement_not_yet_complete
Class 08 — 连接异常
08000 连接异常 connection_exception
08003 连接不存在 connection_does_not_exist
08006 连接失败 connection_failure
08001 SQL 客户端不能建立 SQL 连接 sqlclient_unable_to_establish_sqlconnection
08004 SQL 服务器拒绝建立 SQL 连接 sqlserver_rejected_establishment_of_sqlconnection
08007 未知的事务解析 transaction_resolution_unknown
08P01 违反协议 protocol_violation
Class 09 — Triggered Action Exception触发器动作异常
09000 触发器动作异常 triggered_action_exception
Class 0A — 不支持特性
0A000 不支持此特性 feature_not_supported
Class 0B — 非法事务初始化
0B000 非法事务初始化 invalid_transaction_initiation
Class 0F — 定位器异常
0F000 定位器异常 locator_exception
0F001 非法的定位器声明 invalid_locator_specification
Class 0L — 非法赋权者
0L000 非法赋权者 invalid_grantor
0LP01 非法赋权操作 invalid_grant_operation
Class 0P — 非法角色声明
0P000 非法角色声明 invalid_role_specification
Class 20 — 未发现情况
20000 未发现情况 case_not_found
Class 21 — 势违例
21000 势违例 cardinality_violation
Class 22 — 数据异常
22000 数据异常 data_exception
2202E 数组下标错误 array_subscript_error
22021 字符不在规定范围内 character_not_in_repertoire
22008 日期时间字段溢出 datetime_field_overflow
22012 被零除 division_by_zero
22005 赋值中出错 error_in_assignment
2200B 逃逸字符冲突 escape_character_conflict
22022 INDICATOR OVERFLOW指示器溢出 indicator_overflow
22015 内部字段溢出 interval_field_overflow
2201E 对数运算的非法参数 invalid_argument_for_logarithm
22014 NTILE函数的无效参数 invalid_argument_for_ntile_function
22016 N倍函数的无效参数 invalid_argument_for_nth_value_function
2201F 指数函数的无效参数 invalid_argument_for_power_function
2201G BUCKET函数的非法参数 invalid_argument_for_width_bucket_function
22018 类型转换时非法的字符值 invalid_character_value_for_cast
22007 非法日期时间格式 invalid_datetime_format
22019 非法的逃逸字符 invalid_escape_character
2200D 非法的逃逸字节 invalid_escape_octet
22025 非法逃逸序列 invalid_escape_sequence
22P06 非标准使用逃逸字符 nonstandard_use_of_escape_character
22010 非法指示器参数值 invalid_indicator_parameter_value
22023 非法参数值 invalid_parameter_value
2201B 非法正则表达式 invalid_regular_expression
2201W 无效的行数限制 invalid_row_count_in_limit_clause
2201X 在结果抵消子句中无效的行数 invalid_row_count_in_result_offset_clause
22009 非法时区显示值 invalid_time_zone_displacement_value
2200C 逃逸字符的非法使用 invalid_use_of_escape_character
2200G 最相关类型不匹配 most_specific_type_mismatch
22004 不允许 NULL 值 null_value_not_allowed
22002 NULL 值不能做指示器参数 null_value_no_indicator_parameter
22003 数字值超出范围 numeric_value_out_of_range
22026 字符串数据长度不匹配 string_data_length_mismatch
22001 字符串数据右边被截断 string_data_right_truncation
22011 抽取子字符串错误 substring_error
22027 截断错误 trim_error
22024 未结束的 C 字符串 unterminated_c_string
2200F 零长度的字符串 zero_length_character_string
22P01 浮点异常 floating_point_exception
22P02 非法文本表现形式 invalid_text_representation
22P03 非法二进制表现形式 invalid_binary_representation
22P04 错误的COPY文件格式 bad__file_format
22P05 不可翻译字符 untranslatable_character
2200L 不是一个XML文档 not_an_xml_document
2200M 无效的XML文档 invalid_xml_document
2200N 无效的XML内容 invalid_xml_content
2200S 无效的XML评论 invalid_xml_comment
2200T 无效的XML处理指令 invalid_xml_processing_instruction
Class 23 — 违反完整性约束
23000 违反完整性约束 integrity_constraint_violation
23001 约束限制 restrict_violation
23502 NOT NULL VIOLATION违反非空 not_null_violation
23503 违反外键约束 foreign_key_violation
23505 违反唯一约束 unique_violation
23514 违反检查 check_violation
23P01 违反排除 exclusion_violation
Class 24 — 非法游标状态
24000 非法游标状态 invalid_cursor_state
Class 25 — 非法事务状态
25000 非法事务状态 invalid_transaction_state
25001 活跃的SQL状态 active_sql_transaction
25002 分支事务已经激活 branch_transaction_already_active
25008 持有的指针要求同样的隔离级别 held_cursor_requires_same_isolation_level
25003 对分支事务的不恰当的访问方式 inappropriate_access_mode_for_branch_transaction
25004 对分支事务的不恰当的隔离级别 inappropriate_isolation_level_for_branch_transaction
25005 分支事务没有活跃的SQL事务 no_active_sql_transaction_for_branch_transaction
25006 只读的SQL事务 read_only_sql_transaction
25007 不支持混和的模式和数据语句 schema_and_data_statement_mixing_not_supported
25P01 没有活跃的SQL事务 no_active_sql_transaction
25P02 在失败的SQL事务中 in_failed_sql_transaction
Class 26 — 非法SQL语句名
26000 非法SQL语句名 invalid_sql_statement_name
Class 27 — 触发数据更改违规
27000 触发数据更改违规 triggered_data_change_violation
Class 28 — 非法授权声明
28000 非法授权声明 invalid_authorization_specification
28P01 非法密码 invalid_password
Class 2B — 依然存在依赖的优先级描述符
2B000 依然存在依赖的优先级描述符 dependent_privilege_descriptors_still_exist
2BP01 依赖性对象仍然存在 dependent_objects_still_exist
Class 2D — 非法的事务终止
2D000 非法的事务终止 invalid_transaction_termination
Class 2F — SQL过程异常
2F000 SQL过程异常 sql_routine_exception
2F005 执行的函数没有返回语句 function_executed_no_return_statement
2F002 不允许修改SQL数据 modifying_sql_data_not_permitted
2F003 企图使用禁止的SQL语句 prohibited_sql_statement_attempted
2F004 不允许读取SQL数据 reading_sql_data_not_permitted
Class 34 — 非法指针名
34000 非法指针名 invalid_cursor_name
Class 38 — 外部过程异常
38000 外部过程异常 external_routine_exception
38001 不允许包含的SQL containing_sql_not_permitted
38002 不允许修改SQL数据 modifying_sql_data_not_permitted
38003 企图使用禁止的SQL语句 prohibited_sql_statement_attempted
38004 不允许读取SQL数据 reading_sql_data_not_permitted
Class 39 — 外部过程调用异常
39000 外部过程调用异常 external_routine_invocation_exception
39001 返回了非法的SQL状态 invalid_sqlstate_returned
39004 不允许使用NULL null_value_not_allowed
39P01 违反触发器协议 trigger_protocol_violated
39P02 违反 SRF 协议 srf_protocol_violated
Class 3B — 保存点异常
3B000 保存点异常 savepoint_exception
3B001 无效的保存点声明 invalid_savepoint_specification
Class 3D — 非法目录名
3D000 非法目录名 invalid_catalog_name
Class 3F — 非法模式名
3F000 非法模式名 invalid_schema_name
Class 40 — 事务回滚
40000 事务回滚 transaction_rollback
40002 违反事务完整性约束 transaction_integrity_constraint_violation
40001 串行化失败 serialization_failure
40003 不知道语句是否结束 statement_completion_unknown
40P01 侦测到死锁 deadlock_detected
Class 42 — 语法错误或者违反访问规则
42000 语法错误或者违反访问规则 syntax_error_or_access_rule_violation
42601 语法错误 syntax_error
42501 权限不够 insufficient_privilege
42846 无法进行类型转换 cannot_coerce
42803 分组错误 grouping_error
42P20 开窗口错误 windowing_error
42P19 非法递归 invalid_recursion
42830 非法的外键 invalid_foreign_key
42602 非法名称 invalid_name
42622 名称过长 name_too_long
42939 保留名称 reserved_name
42804 数据类型不匹配 datatype_mismatch
42P18 模糊数据类型 indeterminate_datatype
42809 错误的对象类型 wrong_object_type
42703 未定义的字段 undefined_column
42883 未定义的函数 undefined_function
42P01 未定义的表 undefined_table
42P02 未定义的参数 undefined_parameter
42704 未定义对象 undefined_object
42701 重复的字段 plicate_column
42P03 重复的游标 plicate_cursor
42P04 重复的数据库 plicate_database
42723 重复的函数 plicate_function
42P05 重复的预备语句 plicate_prepared_statement
42P06 重复的模式 plicate_schema
42P07 重复的表 plicate_table
42712 重复的别名 plicate_alias
42710 重复的对象 plicate_object
42702 模糊的字段 ambiguous_column
42725 模糊的函数 ambiguous_function
42P08 模糊的参数 ambiguous_parameter
42P09 模糊的别名 ambiguous_alias
42P10 非法字段引用 invalid_column_reference
42611 非法字段定义 invalid_column_definition
42P11 非法游标定义 invalid_cursor_definition
42P12 非法数据库定义 invalid_database_definition
42P13 非法函数定义 invalid_function_definition
42P14 非法预备语句定义 invalid_prepared_statement_definition
42P15 非法模式定义 invalid_schema_definition
42P16 非法表定义 invalid_table_definition
42P17 非法对象定义 invalid_object_definition
Class 44 — 违反 WITH CHECK 选项
44000 违反 WITH CHECK 选项 with_check_option_violation
⑥ sql查询语句——多重查询
select count(*) num, system
from site_visitmessage
where visit_time > '2009-07-17 03:20:22'
and visit_time < '2009-07-27 03:20:22'
order by num desc
⑦ 求交大自考数据库系统原理实验考的范围~
这个是2010年5月16日上海交大的数据库系统原理的试题培训题,一共有16道。考试的题目就是从这16道中选择9道,通过5道就算通过了。
考试用的是SQL Server 2000
《数据库原理》上机考试环境
先打开我的电脑 查看是否有F盘 和G盘。
然后启动Microsoft SQL server 查询分析器 输入SQL server 服务器名(cs-gate-2)、 登录名(user机器号)和密码(user机器号) 进入查询分析器窗口。
完成考题后,请查看F盘上是否存在一个.sql 和一个.txt文件。
--------------------------------------------------------------------
模拟题
在“学生管理库”下有已表:S(Sno,Sname,Ssex,Sage,Sdept,
Sclass)分别表示:学号、姓名、性别、年龄和系名和班级;C(Cno,Cname,Ctime)分别表示:课程号、课程名和学时数;S_C(Sno,Cno,Grade)分别表示:学号、课程号和成绩。
1. 找出所有成绩小于60分的学生姓名、学号和成绩。
2. 统计所有参加选修学生的人数。
3.找出选修“数据结构”课程最高成绩学生的姓名、性别、年龄及
分数。
4. 找出比机械系所有学生年龄都小的其他系学生的学号和姓名。
5. 找出所有选修“数据库原理”课程学生的姓名、系名和成绩。
6. 建一新表:T_C (Tno (教师编号,C, 4), Cno(课程号,C,3),
Sclass(班级, C, 6), Rno(教室,C,4)),输入如下内容:
Tno Cno Sclass Rno
T001 C1 210201 R111
T002 C2 210201 R115
T003 C3 210201 R203
T004 C4 220202 R301
T005 C5 220202 R101
T006 C6 220202 R201
7. 找出选修“操作系统”课程的210201班学生上课所在教室及教
师编号。
8. 将对T_C表的删除权转授于user7,查询、插入权转授于user2
和user3。
9. 找出选修T006教师所上课程的课程名及学时数。
10. 找出在R111教室上课的学生姓名与课程名。
11. 找出210201班C1课程的教师编号及学生成绩,并按成绩降
序输出。
12. 找出至少选修三门(包括三门)以上课程学生的学号、姓名
和班级。
13. 找出最低分学生的学号、姓名和成绩。
14. 建一视图:H_S_C:包含属性:Sname,Cname,Grade, 它是所有
成绩大于60分学生的信息。
15. 统计选修“C3”课程的学生人数。
16. 列出每位学生的学号和平均成绩,并按学号降序排列。
----------------------------------------------------------------
模拟题参考答案:
1. Select S.Sname,S_C.Sno,S_C.Grade from S,S_C where
S.Sno=S_C.Sno and Grade < 60
2. Select count(S.Sno) from S where S.Sno in (select distinct Sno
from S_C) (或 Select distinct count (Sno) from S )
3. Select Sname,Ssex,Sage,Grade from S,S_C where S.Sno =
S_C.Sno and Grade =(select max (grade) from S_C,C where
C.Cno = S_C.Cno and Cname = ‘数据结构’)
4. Select Sno,Sname from S where Sdept <> ‘机械’ and Sage < (select min(Sage) from S group by Sdept having Sdept=‘机械’)
5. Select S.Sname,S.Sdept,S_C.Grade from S,S_C where S.Sno = S_C.Sno and S_C.Cno in (select Cno from C where Cname = ‘数据库原理’)
6. Create table T_C(Tno char(4) not null,Cno char(3) not null,
Sclass char(6) not null, Rno char(4) not null)
Insert into T_C values(‘T001’, ‘ C1’, ‘ 210201’, ‘ R111’)
Insert into T_C values(‘T002’, ‘ C2’, ‘ 210201’, ‘ R115’)
Insert into T_C values(‘T003’, ‘ C3’, ‘ 210201’, ‘ R203’)
Insert into T_C values(‘T004’, ‘ C4’, ‘ 210202’, ‘ R301’)
Insert into T_C values(‘T005’, ‘ C5’, ‘ 210202’, ‘ R101’)
Insert into T_C values(‘T006’, ‘ C6’, ‘ 210202’, ‘ R201’)
7. Select Rno,Tno from T_C where Cno = (select Cno from C where
Cname = ‘操作系统’) and Sclass = ‘210201’
8. Grant delete on T_C to user7
Grant select,insert on T_C to user2,user3
9. Select C.Cname,Ctime from C where C.Cno in (select Cno from T_C where Tno = ‘T006’)
10. Select S.Sname,C.Cname from S,C,S_C where S.Sno=S_C.Sno and
C.Cno=S_C.Cno and C.Cno in (Select Cno from T_C where Rno =
‘R111’)
11. Select T_C.Tno,S_C.Grade from T_C,S_C where T_C.Cno =
S_C.Cno and T_C.Cno = ‘C1’ and T_C.Sclass = ‘210201’order by S_C.Grade desc
12. Select Sno,Sname,Sclass from S where Sno in (select Sno from
S_C group by Sno having count(Sno) >= 3)
13. Select S.Sno,S.Sname,S_C.Grade from S,S_C where
S.Sno=S_C.Sno and S_C.Grade = (Select min(Grade) from S_C)
14. Create view H_S_C as (Select S.Sname,C.Cname,S_C.Grade from
S,C,S_C where S_C.Cno = C.Cno and S_C.Sno = S.Sno and
S_C.Grade > 60)
15. Select count(*) from S_C where Cno = ‘C3’
16. Select Sno,avg(Grade) from S_C group by Sno order by Sno
desc
----------------------------------------------------------------
S,C,S_C三个表考试时已经建好了,数据也有。
附表1( C表 )
Cno Cname Ctime
C6 CAD设计 54
C7 汇编语言 60
C4 C程序设计 64
C3 数据库原理 72
C5 计算机原理 72
C1 操作系统 82
C2 数据结构 92
--C
--create table
create table C
(
Cno char(2) not null,
Cname char(10) ,
Ctime smallint ,
primary key(Cno)
);
-- insert data to C
INSERT INTO S(Cno,Cname,Ctime) VALUES ('C6','CAD设计','54');
INSERT INTO S(Cno,Cname,Ctime) VALUES ('C7','汇编语言','60');
INSERT INTO S(Cno,Cname,Ctime) VALUES ('C4','C程序设计','64');
INSERT INTO S(Cno,Cname,Ctime) VALUES ('C3','数据库原理','72');
INSERT INTO S(Cno,Cname,Ctime) VALUES ('C5','计算机原理','72');
INSERT INTO S(Cno,Cname,Ctime) VALUES ('C1','操作系统','80');
INSERT INTO S(Cno,Cname,Ctime) VALUES ('C2','数据结构','92');
附表2 (S表)
Sno Sname Ssex Sage Sdept Sclass
21002 张红 女 57 计算机 210201
22003 李进 男 53 机械 220202
24001 赵明 男 55 汽车 240203
23005 施英 女 24 信息 230001
23006 丁林 男 55 信息 230002
22004 刘晨 男 52 机械 220202
--S
--create table
create table S
(
Sno char(5) not null,
Sname char(6) not null,
Ssex char(2) ,
Sage smallint ,
Sdept char(6) ,
Sclass char(6) ,
primary key(Sno)
);
-- insert data to S
INSERT INTO S(Sno,Sname,Ssex,Sage,Sdept,Sclass) VALUES ('21002','张红','女','57','计算机','210201');
INSERT INTO S(Sno,Sname,Ssex,Sage,Sdept,Sclass) VALUES ('22003','李进','男','53','机械','220202');
INSERT INTO S(Sno,Sname,Ssex,Sage,Sdept,Sclass) VALUES ('24001','赵明','男','55','汽车','240203');
INSERT INTO S(Sno,Sname,Ssex,Sage,Sdept,Sclass) VALUES ('23005','施英','女','24','信息','230001');
INSERT INTO S(Sno,Sname,Ssex,Sage,Sdept,Sclass) VALUES ('23006','丁林','男','55','信息','230002');
INSERT INTO S(Sno,Sname,Ssex,Sage,Sdept,Sclass) VALUES ('22004','刘晨','男','52','机械','220202');
附表3(S_C表)
Cno Cname Ctime
21002 C1 50
21002 C5 79
21002 C7 53
22003 C1 81
22003 C2 55
22003 C4 76
22003 C5 91
24001 C2 83
24001 C3 88
24001 C4 71
22004 C3 94
23005 C4 60
23005 C5 54
23006 C1 73
23006 C3 65
23006 C5 84
--S_C
--create table
create table S_C
(
Sno char(5) not null,
Cno char(2) not null,
Grade smallint ,
primary key(Sno,Cno)
);
-- insert data to S_C
INSERT INTO S_C(Sno,Cno,Grade) VALUES ('21002','C1','50');
INSERT INTO S_C(Sno,Cno,Grade) VALUES ('21002','C5','79');
INSERT INTO S_C(Sno,Cno,Grade) VALUES ('21002','C7','53');
INSERT INTO S_C(Sno,Cno,Grade) VALUES ('22003','C1','81');
INSERT INTO S_C(Sno,Cno,Grade) VALUES ('22003','C2','55');
INSERT INTO S_C(Sno,Cno,Grade) VALUES ('22003','C4','76');
INSERT INTO S_C(Sno,Cno,Grade) VALUES ('22003','C5','91');
INSERT INTO S_C(Sno,Cno,Grade) VALUES ('24001','C2','83');
INSERT INTO S_C(Sno,Cno,Grade) VALUES ('24001','C3','88');
INSERT INTO S_C(Sno,Cno,Grade) VALUES ('24001','C4','71');
INSERT INTO S_C(Sno,Cno,Grade) VALUES ('22004','C3','94');
INSERT INTO S_C(Sno,Cno,Grade) VALUES ('23005','C4','60');
INSERT INTO S_C(Sno,Cno,Grade) VALUES ('23005','C5','54');
INSERT INTO S_C(Sno,Cno,Grade) VALUES ('23006','C1','73');
INSERT INTO S_C(Sno,Cno,Grade) VALUES ('23006','C3','65');
INSERT INTO S_C(Sno,Cno,Grade) VALUES ('23006','C5','84');
-----
结束
⑧ 帮忙看看这句MySql语句,老是出错,语句是按照书本写上去的。
看看这个
SQL中,int(M) 在 integer 数据类型中,M 表示最大显示宽度。
在 int(M) 中,M 的值跟 int(M) 所占多少存储空间并无任何关系。 int(3)、int(4)、int(8) 在磁盘上都是占用 4 btyes 的存储空间。说白了,除了显示给用户的方式有点不同外,int(M) 跟 int 数据类型是相同的。
如果int的值为10
int(10)显示结果为0000000010
int(3)显示结果为010
就是显示的长度不一样而已 都是占用四个字节的空间
⑨ 乞助:SQL Anywhere 8 8.0.3.5594数据库最年夜行数是若干好多
能告诉我这个SQLSTATE = 22003 怎么解决吗?我在测试,我试图在一个表中插入1一标识表记标帜录,我的pb轨范就遏制纺暌钩了
⑩ DB2 数据导入 20100101,1,18,3,825,750867,1.000000,2.200000,2.200000,3133732,1,105 这个格式的
你是用的import还是用的load呀?导入时加一个日志输出嘛,看看从你的文件中读取了多少行数据,插入了多少行,最后提交了多少行