捕获异常在抛出异常的写法
--------------------------------
EXCEPTION
--其他异常
WHEN OTHERS THEN
sql_code := SQLCODE;
sql_msg := SQLERRM;
DBMS_OUTPUT.PUT_LINE('err code:' || sql_code);
DBMS_OUTPUT.PUT_LINE('err msg:' || sql_msg);
--循环处理中报错的场合出力主键值
DBMS_OUTPUT.PUT_LINE('主键1:' || key1);
DBMS_OUTPUT.PUT_LINE('主键2:' || key2);
--异常在调用
RAISE;
--------------------------------
查不到数据时会发生异常,写法如下:
2
3
4
5
6
7
8
9
10
11
12
13
14
|
declare int_a number;
begin begin select a into int_a from taba where 1 = 2;
exception
when no_data_found or to_many_rows then null ;
--或者写0件时的处理 end ;
dbms_output.put_line(int_a);
end ;
/ |