PRAGMA EXCEPTION_INIT 是Oracle PL/SQL 中的一个指令,用于将一个用户定义的异常与 Oracle 预定义的异常或特定的错误代码关联起来。这允许开发者为特定的错误条件创建更具可读性和维护性的异常处理逻辑。 2. 阐述PRAGMA EXCEPTION_INIT的语法结构 PRAGMA EXCEPTION_INIT 的语法结构如下: plsql PRAGMA EXCEPTION_INIT ...
PRAGMA EXCEPTION_INIT(exception_name, {exception_number | exception_code}) 説明: exception_nameは、関連付けられた例外の名前です。 exception_numberは、プラグマに関連付けられたユーザー定義のエラーコードです。 マップされていないexception_number値を指定すると、サーバーは警告を返します。
PRAGMA EXCEPTION_INIT声明可包含在任何块、子块或包中。只能在声明异常后将错误代码分配给该异常(使用PRAGMA EXCEPTION_INIT)。 语法 PRAGMA EXCEPTION_INIT声明的格式如下: PRAGMA EXCEPTION_INIT(exception_name, {exception_number | exception_code}) 其中: exception_name是关联异常的名称。 Exception_number是用户...
每当尝试转换 PL/SQL 代码时不 PRAGMA EXCEPTION_INIT 在其参数部分中定义错误号,SSMA 将生成错误消息,因为它找不到数字文本。 必须传递一个负数(即要在参数节中引发此异常的错误号)。 示例 请考虑以下示例: SQL 复制 DECLARE MYEXCEPTION EXCEPTION; PRAGMA EXCEPTION_INIT(MYEXCEPTION, ''); BEGIN NULL; END;...
PRAGMA EXCEPTION_INIT (e_emps_remaining,-2292);BEGINDELETEFROMdeptWHEREdeptno=&p_deptno;COMMIT; EXCEPTIONWHENe_emps_remainingTHENDBMS_OUTPUT.PUT_LINE('Cannot remove dept'||TO_CHAR(&p_deptno)||'. Employees exist.');END; 运行结果: anonymous block completed ...
If two EXCEPTION_INIT pragmas assign different error codes to the same user-defined exception, then the later pragma overrides the earlier pragma. Usage Notes The EXCEPTION_INIT pragma should only be used to associate an exception with an error number that is already meaningfully defined by Or...
PRAGMA EXCEPTION_INIT (e_emps_remaining,-2292);BEGINDELETEFROMdeptWHEREdeptno=&p_deptno;COMMIT; EXCEPTIONWHENe_emps_remainingTHENDBMS_OUTPUT.PUT_LINE('Cannot remove dept'||TO_CHAR(&p_deptno)||'. Employees exist.');END; 运行结果: anonymous block completed ...
PRAGMA EXCEPTION_INIT (e_emps_remaining,-2292);BEGINDELETEFROMdeptWHEREdeptno=&p_deptno;COMMIT; EXCEPTIONWHENe_emps_remainingTHENDBMS_OUTPUT.PUT_LINE('Cannot remove dept'||TO_CHAR(&p_deptno)||'. Employees exist.');END; 1. 2. 3.
pragma exception_init(e_x, -6502); begin select 'a' into a from dual; exception when e_x then dbms_output.put_line('asdfasdf'); end; 由於ORACLE 中類型轉換錯誤 代號為 -6502, 為了顯示方便, 就自定義一個例外e_x 和 -6502聯繫起來, ...
the pragma EXCEPTION_INIT tells the compiler to associate an exception name with an Oracle error number. === That allows you to refer to any internal exception by name and to write a specific handler for it.: DECLARE deadlock_detected