pl/sql_6_例外
2015-12-07 10:50
253 查看
u两种类型的例外:
ØOracle预定义的例外:是由PL/SQL运行过程中,系统自动产生的信息。
CURSOR_ALREADY_OPEN(当程序中的一个游标已经执行了打开操作,如果开发人员试图再一次打开这个已经打开的游标时,将触发该异常。)
NO_DATA_FOUND(当读取一个游标进行赋值操作(SELECTINTO操作)时,如果未返回任何行,将触发该异常。)
TOO_MANY_ROWS( 实际返回的行数超出请求的行)
INVALID_CURSOR(当试图对一个尚未打开的游标执行任何操作,如打开该非法的游标执行赋值操作,或者关闭未打开的游标时,将触发该异常。)
VALUE_ERROR(当在PL/SQL程序中执行赋值操作时,如果右边值的长度大于左边变量的长度,将触发该异常。)
INVALID_NUMBER(数字或值错误,或字符到数值的转换错误。)
ZERO_DIVIDE(当在程序中使用0作为除数进行运算时,将触发该异常。)
Ø用户定义的例外:是用户根据需要,自己定义使用的例外,执行时由用户自己引起。
用户定义的例外必须在DECLARE段中说明,在Begin段中用RAISE引起,在EXCEPTION段中使用。
声明用户定义例外的例子:
Declare
out_of_range EXCEPTION;
u例外的使用
Declare
out_of_range EXCEPTION;
Begin
…
IF vlSal >MAX_SAL THEN RAISE out_of_range;
ENDIF;
…
Exception
When NO_DATA_FOUND THEN …
When CURSOR_ALREADY_OPEN THEN ...
When TOO_MANY_ROWS THEN ...
When out_of_range THEN ...
END;
ØOracle预定义的例外:是由PL/SQL运行过程中,系统自动产生的信息。
CURSOR_ALREADY_OPEN(当程序中的一个游标已经执行了打开操作,如果开发人员试图再一次打开这个已经打开的游标时,将触发该异常。)
NO_DATA_FOUND(当读取一个游标进行赋值操作(SELECTINTO操作)时,如果未返回任何行,将触发该异常。)
TOO_MANY_ROWS( 实际返回的行数超出请求的行)
INVALID_CURSOR(当试图对一个尚未打开的游标执行任何操作,如打开该非法的游标执行赋值操作,或者关闭未打开的游标时,将触发该异常。)
VALUE_ERROR(当在PL/SQL程序中执行赋值操作时,如果右边值的长度大于左边变量的长度,将触发该异常。)
INVALID_NUMBER(数字或值错误,或字符到数值的转换错误。)
ZERO_DIVIDE(当在程序中使用0作为除数进行运算时,将触发该异常。)
Ø用户定义的例外:是用户根据需要,自己定义使用的例外,执行时由用户自己引起。
用户定义的例外必须在DECLARE段中说明,在Begin段中用RAISE引起,在EXCEPTION段中使用。
声明用户定义例外的例子:
Declare
out_of_range EXCEPTION;
u例外的使用
Declare
out_of_range EXCEPTION;
Begin
…
IF vlSal >MAX_SAL THEN RAISE out_of_range;
ENDIF;
…
Exception
When NO_DATA_FOUND THEN …
When CURSOR_ALREADY_OPEN THEN ...
When TOO_MANY_ROWS THEN ...
When out_of_range THEN ...
END;
相关文章推荐
- 14.10.3 SQL Syntax for Online DDL 在线DDL SQL语法
- Zabbix自带的mysql监控模块
- 远程连接 Mysql,常见错误及解决方法
- 织梦DedeCMS使用SQL批量替换文章标题内容
- mysqldump工具备份还原Mysql数据库实例及参数详细说明
- php session存储到文件、memcache或redis
- 数据库之jdbc
- mysql 触发器
- oracle学习链接
- iOS Sqlite笔记
- MySQL设置当前时间为默认值的方法
- mysql浮点数与定点数(转)
- ORACLE中的游标Cursor总结
- MySQL存储过程
- SQL通过经度和纬度(已知的一个点)来查询方圆4km内符合条件的信息
- sql语句查询经纬度范围
- MySQL缓存的查询和清除命令使用详解
- oracle通过透明网关连接mysql的配置
- mysql explain语法详解--优化你的查询
- sql中inner join on,left join on,right join on详细用法