oracle预定义异常代码列表.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
oracle预定义异常代码列表

在使用oracle处理较复杂的数据库业务逻辑的时候,难免要用到较复杂的pl/sql编程,像存储过程、函数之类的, 处于程序健壮性的需要,就要处理各种异常,oracle的异常有预定义异常、非预定义异常与自定义异常等。对于预定义异常,如Dup_val_on_index 违反唯一性约束异常,timeout_on_resource 等待资源超时异常 not_data_found 未找到数据异常等。但是我们有的时候处理的异常并不在预定义异常范围内,也就是说这些异常只有异常代码,没有异常的名字,这就需要我们自己去定义一些异常的名字,然后赋予它的异常代码。例如: deptno_remaining exception;Pragma exception_ini(deptno_remaining ,-2292)上例中,定义了一个异常,取名为deptno_ramaining。之后初始化这个异常为oracle标准异常代码为ORA-02292,异常内容为(违反完整约束条件 (.) - 已找到子记录)所以,在使用这个异常的时候,只需EXCEPTIONWHEN deptno_remaining THENDBMS_OUTPUT.PUT_LINE(‘违反数据完整性约束’);若在执行这个存储过程中出现删除有子记录的数据,就会触发此异常,程序就会转到上述语句,输出‘违反数据完整性约束’这句话。当然,oracle 官方一共定义了大概20000个异常,当然不需要每一个都记下来,下面给出了异常列表,仅供参考:ORA-0000: normal, successful completionORA-00001: 违反唯一约束条件 (.)ORA-00017: 请求会话以设置跟踪事件ORA-00018: 超出最大会话数ORA-00019: 超出最大会话许可数ORA-00020: 超出最大进程数 ()ORA-00021: 会话已连接到其他某些进程; 无法切换会话ORA-00022: 无效的会话 ID; 访问被拒绝ORA-00023: 会话引用进程专用内存; 无法分离会话ORA-00024: 单一进程模式下不允许从多个进程登录ORA-00025: 无法分配ORA-00026: 丢失或无效的会话 IDORA-00027: 无法终止当前会话ORA-00028: 您的会话己被终止ORA-00029: 会话不是用户会话ORA-00030: 用户会话 ID 不存在。ORA-00031: 标记要终止的会话ORA-00032: 无效的会话移植口令ORA-00033: 当前的会话具有空的移植口令ORA-00034: 无法在当前 PL/SQL 会话中ORA-00035: LICENSE_MAX_USERS 不能小于当前用户数ORA-00036: 超过递归 SQL 级别的最大值ORA-00037: 无法切换到属于不同服务器组的会话ORA-00038: 无法创建会话: 服务器组属于另一用户ORA-00039: 定期操作期间出错ORA-00040: 已超过活动时间限制 - 调用中止ORA-00041: 已超过活动时间限制 - 会话终止ORA-00042: 服务名未知ORA-00043: 远程操作失败ORA-00044: statistics_level 不为 BASIC 时, timed_statistics 必须为 TRUEORA-00050: 获取入队时操作系统出错ORA-00051: 等待资源超时ORA-00052: 超出最大入队资源数 ()ORA-00053: 超出最大入队数ORA-00054: 资源正忙, 但指定以 NOWAIT 方式获取资源, 或者超时失效ORA-00055: 超出 DML 锁的最大数ORA-00056: 对象 . 上的 DDL 锁以不兼容模式持有ORA-00057: 超出临时表锁的最大数ORA-00058: DB_BLOCK_SIZE 必须为才可装载此数据库 (非 )ORA-00059: 超出 DB_FILES 的最大值ORA-00060: 等待资源时检测到死锁ORA-00061: 另一个实例设置了不同的 DML_LOCKSORA-00062: 无法获得 DML 全表锁定; DML_LOCKS 为 0ORA-00063: 超过日志文件的最大数目ORA-00064: 对象过大, 无法在此 O/S 分配 (,,)ORA-00065: FIXED_DATE 的初始化失败ORA-00066: SID 包含非法字符ORA-00067: 值对参数无效; 至少必须为ORA-00068: 值对参数无效, 必须在和之间ORA-00069: 无法获得锁 -- 禁用了表锁定ORA-00070: 命令无效ORA-00071: 进程号必须介于 1 和之间ORA-00072: 进程 不活动ORA

文档评论(0)

jiupshaieuk12 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:6212135231000003

1亿VIP精品文档

相关文档