ORACLE pl/sql 系统例外

plsql中有一些系统级例外(exception)简单做一下总结

  • no_data_found : insert数据时无对应的数据结果;
  • too_many_rows:  insert 数据时对某变量赋值多个结果行  ;
  • zero_divide : 0位分母;
  • value_error:算术或转换错误
  • Timeout_on_resource : 等待资源超时

自定义例外:

raise no_data   抛出异常 

set serveroutput on
declare  
i number;
cursor c1 is select id from table where id = 1;

--自定义例外
no_data exception;
begin
open c1;
    fetch c1 into i;

	if c1%notfound 
	   then raise no_data;
	end if;
--遇到exception执行不到close光标时,oracle会自动调用pmon(process monitor)关闭光标 close c1; exception when no_data then dbms_output.put_line('无结果返回'); when others then dbms_output.put_line('others'); end; /

  

 

posted @ 2017-12-29 16:35  我不是大豆  阅读(160)  评论(0)    收藏  举报