RAISE_APPLICATION_ERROR在子程序内部使用时,能从存储子程序中抛出自定义的错误消息。这样就能将错误报告给应用程序而避免范围未捕获异常。 语法如下: 1RAISE_APPLICATION_ERROR(error_number, error_message, [keep_errors]); error_number是范围在-20000到-20999之间的负整数,error_message是最大长度为2048字节的字符...
用户定义的异常错误是通过显式使用RAISE语句来触发。 1、在PL/SQL块的定义部分定义异常情况; 2、RAISE <异常情况>; 3、在PL/SQL块的异常情况处理部分对异常情况做出相应的处理。 DECLARE v_empno employees.employee_id%TYPE :=&empno; no_result EXCEPTION; --1、定义 BEGIN UPDATE employees SET salary = sa...
- 使用RAISE_APPLICATION_ERROR过程,程序员能够遵循与Oracle一致的方式返回错误消息。 - 示例代码 declare v_id number := &p_id; v_name varchar2(20); v_sal number; begin if v_id > 0 then select ename,sal into v_name,v_sal from emp where empno = v_id; dbms_output.put_line(chr(10...
SQL>/Enter valueforv_empno:-1234DECLARE*ERRORat line1:ORA-20000:Employee number can not be negativeORA-06512:at line6 借助于RAISE_APPLICATION_ERROR过程,编程人员能够遵循与Oracle错误一致的方式返回错误信息。 综上所述,我们发现预定义异常的错误代码有名称,譬如上文提到的NO_DATA_FOUNG,而非预定义异常只...
调用RAISE_APPLICATION_ERROR存储过程——抛出用户定义异常 非预定义异常 因为非预定义异常只有编号,没有名称,所以不能直接处理。 1、在PL/SQL块的定义部分定义异常情况: <异常情况> EXCEPTION; 2、将其定义好的异常情况,与标准的ORACLE错误联系起来,使用EXCEPTION_INIT语句: ...
RAISE_APPLICATION_ERROR(error_number, '这里是一个自定义的错误信息'); END IF; END; 使用RAISE_APPLICATION_ERROR时,你可以指定一个错误号(一个负整数,Oracle PL/SQL预定义的范围是从-20000到-20999),以及一个描述错误的字符串。 在例,一个匿名块声明了一个名为past_due的异常,为其分配了错误码-20000,并...
在PL/SQL中出现的警告或错误叫异常,对异常的处理称为异常处理 异常可以分为:预定义异常、用户自定义异常 1、预定义异常 它是由系统定义的异常,由于它们已在standard包中预定义了,因此这些预定义异常可以直接在程序中使用,而不必在定义部分声明。 2、用户自定义异常 ...
OraclePLSQL开发基础(第三十四弹:RAISE RAISE_APPLICATION_ERROR在子程序内部使用时,能从存储子程序中抛出自定义的错误消息。这样就能将错误报告给应用程序而避免范围未捕获异常。 语法如下: RAISE_APPLICATION_ERROR(error_number, error_message, [keep_errors]); 1 error_number是范围在-20000到-20999之间的负整数...
Raise; End; Pl.sql使用raise_application_error过程来生成一个有具体描述的异常。当使用这个过程时,当前程序被中止,输入输出参数被置为原先的值,但任何DML对数据库所做的改动将被保留,可以在之后用rollback命令回滚。下面是该过程的原型: Procedure raise_application_error( ...
RAISE_APPLICATION_ERROR(错误号 ,消息, keeperrorstackfalse ); 描述 错误号 特定于供应商的编号,在将此编号存储在名为 SQLCODE 的变量中之前,将它映射到错误码。RAISE_APPLICATION_ERROR 过程接受用户定义的 错误号 值-20000 到 -20999。在错误消息中返回的 SQLCODE 是 SQL0438N。SQLSTATE 包含类“UD”以及三个...