hy, Этот триггер даст мне всю запись таблицы со всеми изменениями, которые я хочу получить, чтобы последняя измененная строка делила код.
Create Or Replace Trigger TRG_check IN
Before insert or update
on temp_checkin
FOR each ROW
BEGIN
INSERT INTO temp_checkin_history
select * from temp_checkin
where temp_checkin.id = temp_checkin.id;
END;
Спасибо
Написание запроса, такого как INSERT INTO SELECT *
без указания столбцов, является плохой практикой. Кроме того, нет необходимости выбирать из таблицы запуска триггера, как вы делаете. Вместо этого используйте ключевое слово :NEW
и укажите все столбцы. Вы можете написать свой триггер как
CREATE OR REPLACE TRIGGER trg_check BEFORE
INSERT OR UPDATE ON temp_checkin
FOR EACH ROW
BEGIN
INSERT INTO temp_checkin_history (
id,
col1,
col2,
col3
) --other columns
VALUES (
:new.id,
:new.col1,
:new.col2,
:new.col3
); -- other columns prefixed by :NEW
END;