無名の内部例外

Pocket

/*
|| 無名の内部例外
||
||  <例外名> EXCEPTION;
||  PRAGMA EXCEPTION_INIT(<例外名>,<Oracleエラー番号>);
*/
SQL> DECLARE
2    CURSOR emp_cl IS SELECT sal FROM emp
3     WHERE deptno = 10 FOR UPDATE;
4    cursor_err EXCEPTION;
5    PRAGMA EXCEPTION_INIT(cursor_err,-1002);
6   BEGIN
7    FOR r IN emp_cl LOOP
8     UPDATE emp
9      SET sal = r.sal * 1.2
10       WHERE CURRENT OF emp_cl;
11     COMMIT;
12    END LOOP;
13   EXCEPTION
14    WHEN cursor_err THEN
15     DBMS_OUTPUT.PUT_LINE(‘内部エラーが発生!’);
16   END;
17   /

以上です (^^♪