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;
1条答案
按热度按时间cbjzeqam1#
编写一个查询,如
INSERT INTO SELECT *
不指定列是不好的做法。另外,不需要像现在这样从触发器所有者表中进行选择。相反,使用:NEW
关键字并指定所有列。你可以把你的触发器写成