Я хочу разработать процедуру для следующего сценария.
У меня есть один источник, одна цель и одна таблица ошибок. Таблицы Target и Error имеют все поля, присутствующие в исходных таблицах. Но тип данных всех полей для таблицы ошибок varchar. Таблица ошибок не имеет целостности, внешнего ключа и других ограничений.
В таблице ошибок также есть еще два поля: Ошибка и сообщение об ошибке.
Теперь, когда процедура выполняется, если при вставке какой-либо записи в цель возникает ошибка, эта запись будет перемещена в таблицу ошибок. Кроме того, код ошибки базы данных и сообщение об ошибке должны регистрироваться в полях таблиц ошибок, как упоминалось.
Как я могу разработать такую процедуру?
Пример схемы таблицы:
source table
src(id number
,name varchar2(20)
, ... )
target table
tgt(id number
,name varchar2(20) not null
, ... )
error table
err (id varchar2(255)
,name varchar2(255)
, ...
, errno varchar2(255)
, errmsg varchar2(255))