У меня есть следующий триггер, который срабатывает, когда updated
становится Y
. Я хотел бы вставить старые значения, только если значения не существуют в таблице my_hist
. Если такая же запись существует, она не должна вставляться. Для этого лучше всего создать ли ограничение для проверки уникальности в таблице my_hist
или проверить это условие в триггере? Если да, то как я могу сделать это в триггере?Вставить триггер для проверки уникального ограничения
Или можно проверить уникальное ограничение таблицы my_hist в триггере, чтобы он не вставлял повторяющиеся записи.
CREATE OR REPLACE TRIGGER mytrig
AFTER UPDATE
ON mytab
FOR EACH ROW
WHEN (
new.updated = 'Y'
)
BEGIN
INSERT INTO my_hist
VALUES (
:old.id,
:old.no,
:old.start_date,
:old.end_date,
SYSDATE
);
END mytrig;
/
Спасибо за решение. Оценил. – user75ponic