b、sqlcode将返回现行数据库错误号,这些错误号中除了no_data_found是+100外其他都是负数;c、sqlerrm返回文本描述的错误信息;d、为了获得用户自定义异常返回的sqlerrm和sqlcode,你需要使用raise_application_error函数给自定义异常标注错误号 给自定义错误标注号码:a、raise_application_error内建函数用于抛出一个异常并给...
DBMS_OUTPUT.PUT_LINE('SQLCODE: ' || SQLCODE); DBMS_OUTPUT.PUT_LINE('SQLERRM: ' || SQLERRM); END; CALL verify_emp(7839); SQLCODE: -438 SQLERRM: SQL0438N Application raised error or warning with diagnostic text: "No manager for 7839". SQLSTATE=UD030...
DBMS_OUTPUT.PUT_LINE(SQLCODE||'---'||SQLERRM); END; RAISE_APPLICATION_ERROR 调用DBMS_STANDARD(ORACLE提供的包)包所定义的RAISE_APPLICATION_ERROR过程,可以重新定义异常错误消息,将应用程序专有的错误从服务器端转达到客户端应用程序。它为应用程序提供了一种与ORACLE交互的方法。 语法如下: RAISE_APPLICATION_...
d、为了获得用户自定义异常返回的sqlerrm和sqlcode,你需要使用raise_application_error函数给自定义异常标注错误号 给自定义错误标注号码: a、raise_application_error内建函数用于抛出一个异常并给异常赋予一个错误号以及错误信息; b、自定义异常的缺省错误号是+1,缺省信息是user_defined_exception。来自未处理的异常的一...
error_number 是一個整數值或運算式,當執行預存程序時在名為 SQLCODE 的變數中返回。error_number 必須是介於 -20000 和 -20999 之間的值。 message 是一個字串文本或運算式,在名為 SQLERRM 的變數中返回。 以下樣本使用 RAISE_APPLICATION_ERROR 預存程序根據員工缺少的資訊,顯示不同的代碼和訊息。 CREATE OR...
RAISE_APPLICATION_ERROR(-20000, '员工编号不能为空'); ELSIF ... THEN RAISE_APPLICATION_ERROR(-20001, '员工已存在'); END IF; ... EXCEPTION WHEN OTHERS THEN RAISE_APPLICATION_ERROR(-20003, '插入数据时出现错误!异常编码:' || SQLCODE || '异常描述:' || SQLERRM); END; 1 2 3 4 5 6 ...
no_result EXCEPTION;--1、定义BEGINUPDATEemployeesSETsalary=salary+100WHEREemployee_id=v_empno;IFSQL%NOTFOUNDTHENRAISE no_result;--2、抛出ENDIF;EXCEPTIONWHENno_resultTHEN--3、处理DBMS_OUTPUT.PUT_LINE('你的数据更新语句失败了!');WHENOTHERSTHENDBMS_OUTPUT.PUT_LINE(SQLCODE||'---'||SQLERRM);END;...
RAISE_APPLICATION_ERROR(error_number, message); 其中: error_number 是一个整数值或表达式,当执行存储过程时在名为 SQLCODE 的变量中返回。error_number 必须是介于 -20000 和 -20999 之间的值。 message 是一个字符串文本或表达式,在名为 SQLERRM 的变量中返回。
...4BEGIN5IF ... THEN6RAISE_APPLICATION_ERROR(-20000,'员工编号不能为空');7ELSIF ... THEN8RAISE_APPLICATION_ERROR(-20001,'员工已存在');9END IF;10...11EXCEPTION12WHEN OTHERS THEN13RAISE_APPLICATION_ERROR(-20003,'插入数据时出现错误!异常编码:'14||SQLCODE15||'异常描述:'16||SQLERRM);17...
RAISE_APPLICATION_ERROR(-20003, '插入数据时出现错误!异常编码:' || SQLCODE || '异常描述:' || SQLERRM); END; 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 别的子程序或语句块调用这个过程时,如果有相应的异常,就会像普通的Oracle错误一样被捕获。