こんにちは、ORACLE で例外がスローされたオブジェクト (テーブルや列など) をキャプチャする方法はありますか?
例外が発生したテーブルとフィールドの名前をユーザーに示すエラー メッセージをカスタマイズするには、オブジェクト名を決定する必要があります。
変数 SQLCODE と SQLERRM があることは知っていますが、エラー オブジェクトの名前を返す追加の変数または関数があるかどうか疑問に思います。
私はこのようなものが欲しい
exception
when others then
begin
if SQLCODE = -20010
then dbms_output.put_line('The Value Too Large in the field ' || GetObjectNameError);
end if;
end;
アップデート
トニーの例を使用して
CREATE TABLE t (v varchar2(3));
COMMENT ON TABLE t IS 'my table description';
COMMENT ON COLUMN t.v IS 'my column description';
insert into t values ('xxxx');
実際にこのエラーを発生させます*
ERROR at line 1:
ORA-12899: value too large for column "MYSCHEMA"."T"."V" (actual: 4, maximum: 3)
こういうの見せたい
ORA-12899: value too large for column "my column description" in table "my table description" (actual: 4, maximum: 3)
前もって感謝します。