mytitle labor.xland.title%type=2put_linemytitle)exception when no_data_found then dbms_output.put_line('没有找到数据');end; 这段程序当检索到数据的时候就输出数据 检索不到数据即输出 没有找到数据 no_data_found 是一个预定义异常错误类型 更多预定义异常错误,请
SQL>/Enter valueforv_empno:7788Employee name isSCOTT-->>输入的员工编号存在,输出员工姓名PL/SQLprocedure successfully completed.SQL>/Enter valueforv_empno:1234DECLARE*ERRORat line1:ORA-01403:no data found-->>输入的员工编号不存在,报运行时错误ORA-06512:at line5 由此可见,编译器无法检测运行错误。...
select deptno into v_id from emp where 1= 2;--no_data_found Exception --select deptno into v_id from emp where 1= 1/0;--ZERO_DIVIDE Exception Exception when ZERO_DIVIDE then dbms_output.put_line('ZERO_DIVIDE Exception'); when no_data_found then dbms_output.put_line('no_data_found...
EXCEPTIONWHENNO_DATA_FOUNDTHENDBMS_OUTPUT.PUT_LINE('Not found');WHENTOO_MANY_ROWSTHENDBMS_OUTPUT.PUT_LINE('More data');WHENMY_ERROR1THENdbms_output.put_line('This is a err_1 test');WHENMY_ERROR2THENdbms_output.put_line('This is a err_2 test');END;...
异常处理部分一般放在 PL/SQL 程序体的后半部,结构为: EXCEPTION WHENfirst_exceptionTHEN WHENsecond_exceptionTHEN WHENOTHERSTHEN END; 异常处理可以按任意次序排列,但 OTHERS 必须放在最后. 预定义说明的部分 ORACLE 异常错误 对这种异常情况的处理,只需在PL/SQL块的异常处理部分,直接引用相应的异常情况...
oracle pl/sql之异常处理(exception) 一.异常语法 EXCEPTION when exception1 [or exception2...] then statement;...] [when exception1 [or exception2...] then statement;...] [when others then statement1;...] 二.预定义异常 (1)NO_DATA_FOUND...
declare v_num1 integer:=5;v_num2 integer:=0;begin dbms_output.put_line(v_num1/v_num2);exception when no_data_found then dbms_output.put_line('数据没有找到');when zero_divide then dbms_output.put_line('除数为零');end;/
除了NO_DATA_FOUND异常外,我们还可以使用类似的方式处理其他游标异常。只需在EXCEPTION块中添加相应的WHEN ... THEN语句即可。 通过合理使用游标异常处理语法,我们可以确保在数据海洋中航行时,即使遇到惊涛骇浪,也能保持冷静,从容应对。这样,我们的游标探险之旅就能更加安全、顺利地进行下去。
-- PL/SQL block to handle the NO_DATA_FOUND exception DECLARE emp_name VARCHAR2(100); emp_id NUMBER := 225; BEGIN BEGIN SELECT first_name INTO emp_name FROM employees WHERE employee_id = emp_id; DBMS_OUTPUT.PUT_LINE('Employee Name: ' || emp_name); EXCEPTION WHEN NO_DATA_FOUND ...
EXCEPTION WHENNO_DATA_FOUNDTHEN DBMS_OUTPUT.PUT_LINE('数据库中没有编码为'||v_empno||'的员工'); WHENTOO_MANY_ROWSTHEN DBMS_OUTPUT.PUT_LINE('程序运行错误!请使用游标'); WHENOTHERSTHEN DBMS_OUTPUT.PUT_LINE(SQLCODE||'---'||SQLERRM); ...