0
ORA-000942
の例外を処理したいと思いますが、これに続くmanualおよびこのdiscussionに従います。これには事前に定義された名前を持つORA-
エラーですので、私はこのコードを実行すると、私はORA-000942
メッセージを取得していきますが、プロシージャ・レベル・ハンドラを経由して期待できないようexception_init.
Oracle:EXCEPTION_INITを使用した特定のOracleメッセージのキャプチャ
を使用します。
create table foobar (foobar_id varchar(1));
declare
procedure p_add_to_foobar
is
p_missing_table exception;
pragma exception_init(p_missing_table, -00942);
begin
insert into foobaz
select '1' from dual;
exception
when p_missing_table then
dbms_output.put_line('MISSING TABLE');
end p_add_to_foobar;
begin
p_add_to_foobar;
dbms_output.put_line('DONE');
end;
質問:
- 私は私のプロシージャ・レベルの例外が-942エラーを処理するために取得するにはどうすればよいですか?それはもちろん
foobaz
テーブルが存在しないため、ステートメントにinsert into foobaz select 1 from dual
をコンパイルしようとすると
はい、実行する前にコンパイルに失敗します –