Oracle PL/SQL开发基础(第三十三弹:EXCEPTION_INIT)
来源:互联网 发布:全网分红系统源码 编辑:程序博客网 时间:2024/05/22 13:07
如果有一些异常并没有异常名称,比如一些ORA-开头的异常并没有一个友好的预定义的异常定义,此时在WHEN子句中无法使用具体的异常名称,必须要使用OTHERS异常处理器进行捕捉。通过EXCEPTION_INIT
编译指示,可以为这些不在预定义异常范围内的异常添加名称。
编译指示是指能在编译期而非运行时进行处理的编译指令。
编译指令EXCEPTION_INIT
将告诉编译器,将异常名称和错误编号关联起来,使得在PL/SQL语句块中可以使用名称来引用所有的内部异常,为其在EXCEPTION语句块中编写特定的处理程序。
基本语法如下:
PRAGMA EXCEPTION_INIT (exception_name, oracle_error_number);
PRAGMA是编译指令的声明,表示EXCEPTION_INIT
编译指令将在编译时被处理而不是运行时,通常也称为伪指令。
看一个例子:
DECLARE e_missingnull EXCEPTION; -- 先声明一个异常 PRAGMA EXCEPTION_INIT (e_missingnull, -1400); -- 将该异常与-1400进行关联BEGIN INSERT INTO emp(empno) VALUES (NULL); -- 向emp表中不为空的列插入NULL值 COMMIT;EXCEPTION WHEN e_missingnull THEN DBMS_OUTPUT.put_line(SQLERRM); ROLLBACK;END;
最终会产生如下 输出:
ORA-01400:无法将NULL插入("APPS"."EMP"."EMPNO")
阅读全文
1 0
- Oracle PL/SQL开发基础(第三十三弹:EXCEPTION_INIT)
- Oracle PL/SQL开发基础(第三弹:修改表)
- Oracle PL/SQL开发基础(第三十四弹:RAISE_APPLICATION_ERROR)
- Oracle PL/SQL开发基础(第三十一弹:自定义异常)
- Oracle PL/SQL开发基础(第三十二弹:SQLCODE和SQLERRM)
- Oracle PL/SQL开发基础(第三十五弹:异常的传递)
- Oracle PL/SQL开发基础(第三十六弹:异常处理的一些经验)
- Oracle PL/SQL开发入门(第三弹:变量)
- Oracle PL/SQL开发基础(第四弹:索引)
- Oracle PL/SQL开发基础(第五弹:视图)
- Oracle PL/SQL开发基础(第六弹:简单查询)
- Oracle PL/SQL开发基础(第十弹:子查询)
- Oracle PL/SQL开发基础(第十四弹:序列)
- Oracle PL/SQL开发基础(第十五弹:同义词)
- Oracle PL/SQL开发基础(第十六弹:记录类型)
- Oracle PL/SQL开发基础(第十七弹:集合类型)
- Oracle PL/SQL开发基础(第二十一弹:基本函数)
- 《oracle pl/sql programming》 第三章 pl/sql语言基础
- jsp内置对象
- 高并发访问,短信炸弹,验证码
- C# 图片Base64 编码,图片格式转换
- 安卓特效 界面控件 直接动态图预览 源码
- python自然语言处理(一)
- Oracle PL/SQL开发基础(第三十三弹:EXCEPTION_INIT)
- ArcGIS问题:dbf shp shx sbn sbx mdb adf等类型的文件的解释
- 算法与数据结构 其五 二叉查找树
- 固态硬盘安装Windows10
- linux环境下文件的操作
- ssh(1)——ssh定义及验证
- 再谈字符串操作
- Web前端学习日记16------面试复盘
- Angular内置指令