plsql异常写法

来源:互联网 发布:会计网络教育 编辑:程序博客网 时间:2024/06/11 04:15

捕获异常在抛出异常的写法

--------------------------------

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 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;
/

0 0