我有以下触发器,它在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;
/