DECLARE TYPE V_ARR IS VARRAY(10) OF VARCHAR2(30); exception_val EXCEPTION; --M_ARR V_ARR; M_ARR V_ARR := V_ARR('1', '2', '3', '4'); ErrorCode VARCHAR2(100); --返回值,错误编码 BEGIN FOR R IN 1 .. M_ARR.COUNT LOOP DBMS_OUTPUT.put_line(M_ARR(R)); IF (R = 3) THEN ErrorCode := 'ERROR Hello'; RAISE exception_val; -- 抛出异常 END IF; END LOOP; EXCEPTION WHEN exception_val THEN ROLLBACK; DBMS_OUTPUT.put_line('自定议异常'); RAISE_APPLICATION_ERROR(-20111, ErrorCode); --将应用程序专有的错误从服务器端转达到客户端应用程序 error_number用于定义不正确号,该不正确号必须在-20000到-20999之间的负整数; WHEN OTHERS THEN ROLLBACK; DBMS_OUTPUT.put_line('其它异常'); END;
oracle PL/SQL 自定义异常,数组
猜你喜欢
转载自xinjiatao.iteye.com/blog/2142744
今日推荐
周排行