【发布时间】:2017-02-22 07:03:55
【问题描述】:
以下是我正在执行一些更新的虚拟表。在这里,我只是在操作“NAME”列。我需要的是插入受影响的行,(比如说)我将第二个更改为“ID”-2,然后我需要只将这一行插入到具有新/更新值的新表中。我曾尝试通过触发器这样做,但它会吐出有关表突变的错误。
ID NAME
================
1 Vaz
2 Dan
3 Steve
我希望插入数据的表具有与上述表相同的结构和具有相同数据类型的相同列。
请建议这是否可以通过任何其他方式完成,或者我为触发器编写了错误的代码。这是我为此目的编写的代码:
CREATE OR REPLACE TRIGGER HR.ins_temp
after UPDATE OF name ON HR.TEMP2 FOR EACH ROW
BEGIN
INSERT INTO temp3
(SELECT NAME
FROM temp2
WHERE (:new.NAME<>:old.NAME));
END;
temp2 是操作表,temp3 是新的。
【问题讨论】: