Привет, есть ли способ захватить объекты (например, таблицу и столбец), где было создано исключение в 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;
UPDATE
на примере Тони
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)
заранее спасибо.