2009年10月14日水曜日

PL/SQLでRAISEを使う

DECLARE
 hoge NUMBER;
BEGIN
  DBMS_OUTPUT.PUT_LINE('1')

 BEGIN
  DBMS_OUTPUT.PUT_LINE('2')
  RAISE ;
  DBMS_OUTPUT.PUT_LINE('3')
 END;

  DBMS_OUTPUT.PUT_LINE('4')
EXCEPTION
WHEN OTHERS THEN
  DBMS_OUTPUT.PUT_LINE(SQLERRM)
END;
/

入れ子内のRAISEで親の例外に飛ぶため3と4は表示されない。