Создание Oracle Trigger для копирования /INSERT одной записи на UPDATE в новую таблицу?

Я пытаюсь настроить триггер в моей базе данных Oracle, который срабатывает каждый раз, когда запись обновляется в Table1, Когда триггер выполняется (после?), Я хочу скопировать / вставить :old значения записи для всех полей в записи, которая была обновлена ​​в HistoryTable, Единственная разница между двумя таблицами заключается в включении [Table1_ID] поле для ссылки на все записи истории для этого конкретного Table1.[ID]:

[Table1] - [ID][col1][col2][col3][etc.]
[HistoryTable] - [ID][Table1_ID][col1][col2][col3][etc.]

Кто-нибудь знает, как это настроить? Я попытался написать сценарий, как показано ниже, но пока безуспешно, и не выяснил, как точно указать действие в пределах TOAD графический интерфейс. У меня уже есть Sequence/Trigger пара на месте, так что [ID] поле для HistoryTable автоматически увеличивается каждый раз, когда вставляется новая запись.

CREATE OR REPLACE TRIGGER SCHEMA1.ITEM_UPDATED_TRG
AFTER UPDATE ON TABLE1
FOR EACH ROW
DECLARE
BEGIN
    INSERT INTO SCHEMA1.HISTORYTABLE (Table1_ID, col1, col2, col3, etc.)
    VALUES (:OLD.ID, :OLD.col1, :OLD.col2, :OLD.col3, :OLD.etc);
END;
ShOW ERRORS;

Окно вывода появляется Warning: compiled but with compilation errors - No errors....?

0 ответов

Другие вопросы по тегам