2
以下是我正在执行某些更新的虚拟表。在这里,我只是操纵“名称”列。我需要插入受影响的行,(比方说)我改变了第二个“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是操作tabel和temp3是新的。
像一个魅力工作, 非常感谢。 但如果有很多列呢?插入 – hashir
@hashir:是的,你需要这样做,这就是SQL insert语句的工作原理。 –
非常感谢你的帮助兄弟! – hashir