如何在更新触发器之前写入?

时间:2014-11-28 08:44:32

标签: sqlite triggers

我有两个表,即table1和table2。

更新table1时,我想将更新的行插入table2,以便table2作为日志。

table1有column1,column2,column3,column4 .... column10

table2有column1,column2,column3,column4

因此,在插入table2时,我只想要table1中的column1,column2,column3,column4。

2 个答案:

答案 0 :(得分:0)

如果您只想将从table1更新的记录添加到table2并且您可以在更新后使用

,这将很简单
delimiter //
create trigger update_table1 after update on table1
for each row 
begin
 insert into table2 
 (column1,column2,column3,column4)
 values
 (old.column1,old.column2,old.column3,old.column4);
end; //
delimiter;

答案 1 :(得分:-1)

请注意:http://www.mssqltips.com/sqlservertip/2342/understanding-sql-server-inserted-and-deleted-tables-for-dml-triggers/

CREATE TRIGGER [after_update] 
    ON table1 
    after UPDATE
    AS 
INSERT INTO table2
        (column1, column2, column3, column4)
    SELECT
        column1, column2, column3, column4
        FROM deleted
go