Я пытаюсь выполнить массовую вставку строк из одной таблицы в другую.Я хочу пропустить все ошибки, которые возникают при этом, но также регистрировать их.Я использовал следующую команду PL / SQL для создания таблицы журнала ошибок для таблицы, в которую я пытаюсь вставить все значения:
BEGIN
DBMS_ERRLOG.create_error_log (
dml_table_name => 'ROBOT_ID_TOOL_DUMP_IDPK.TEST'
, skip_unsupported => TRUE);
END;
Затем я делаю простую вставку с включенным ведением журнала:
INSERT INTO table2
SELECT * FROM table1
LOG ERRORS INTO ERR$_table2;
Ведение журнала работает, но моя вставка останавливается и откатывается после первого исключения (например, PK или ограничение уникальности).Я не хочу откатываться, когда возникает исключение, я хочу, чтобы эта строка была пропущена, и продолжать пытаться вставить все оставшиеся строки (но регистрировать проблемную строку).Я думал, что это то, что делает параметр skip_unsupported
.Я попытался установить для этого значения значение ЛОЖЬ и все еще сталкиваюсь с той же проблемой.