请教 plsql中如何显式的抛出异常?? RT,现在有一个需求,如果遇到某种条件的话,程序就需要跳转到某个已经定义的异常上去?请问plsql中如何实现呢??感谢各位指点 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 oracle中,允许使用“RAISE_APPLICATION_ERROR”函数产生一个用户自定义的错误,使得事务进入异常处理PROCEDURE RAISE_APPLICATION_ERROR( error_number_in IN NUMBER, error_msg_in IN VARCHAR2);error_number_in 之容许从 -20000 到 -20999 之间在开发存储过程或者pl sql时,可以根据需要随时产生 SQL错误,并在事务中使用exception语句处理指定错误号的后续工作 SQL> CREATE OR REPLACE PROCEDURE pb IS 2 invalid_data EXCEPTION; 3 PRAGMA EXCEPTION_INIT(invalid_data, -20100); 4 v_sqlerrm VARCHAR2(2000); 5 BEGIN 6 IF TRUE THEN 7 RAISE_APPLICATION_ERROR(-20100, 'Invalid Registration'); 8 END IF; 9 EXCEPTION 10 WHEN invalid_data THEN 11 v_sqlerrm := SQLERRM; 12 dbms_output.put_line(v_sqlerrm); 13 END; 14 /过程已创建。SQL> SQL> SET serveroutput ON;SQL> exec pb;ORA-20100: Invalid RegistrationPL/SQL 过程已成功完成。SQL> 模糊匹配的问题 急--- 系统表相关信息 行转列,大家帮帮忙。 ORA-04031: unable to allocate 4200 bytes of shared memory 紧急求助,在线等待! 数据更新问题求教 oracle导出导入问题 VB.NET下 OO4O有一个致命的问题,高手请进 oracle9i要将整个用户导出,但是以's_'开头的table不能导出,请问该如何解决? 在线急等 请教 Oracle存储过程处理大对象clob问题!!~! 查看当前select使用的索引
PROCEDURE RAISE_APPLICATION_ERROR( error_number_in IN NUMBER, error_msg_in IN VARCHAR2);
error_number_in 之容许从 -20000 到 -20999 之间
在开发存储过程或者pl sql时,可以根据需要随时产生 SQL错误,并在事务中使用
exception语句处理指定错误号的后续工作
2 invalid_data EXCEPTION;
3 PRAGMA EXCEPTION_INIT(invalid_data, -20100);
4 v_sqlerrm VARCHAR2(2000);
5 BEGIN
6 IF TRUE THEN
7 RAISE_APPLICATION_ERROR(-20100, 'Invalid Registration');
8 END IF;
9 EXCEPTION
10 WHEN invalid_data THEN
11 v_sqlerrm := SQLERRM;
12 dbms_output.put_line(v_sqlerrm);
13 END;
14 /过程已创建。SQL>
SQL> SET serveroutput ON;
SQL> exec pb;
ORA-20100: Invalid RegistrationPL/SQL 过程已成功完成。SQL>