SQL Server数据库触发器

时间:2015-12-26 03:16:30

标签: sql-server database triggers

如果更新了另一个表中的特定行,我需要在表中插入一行。

如何在Table1的DB触发器中执行IF语句,说明Table1.column1 =' TC'然后在表2中插入一行。

1 个答案:

答案 0 :(得分:1)

您可以在“其他”表格的更新触发器中执行此操作。

触发器中有两个特殊表:inserteddeleted。您以这样的方式连接这两个表,即结果集是您要插入的行。 Ergo -

create trigger [after_update_on_Table1] on [Table1] for update
as
    ...
    insert
        into [Table2] (...)
    select
        ...
    from
        inserted as i
            inner join
        deleted as d
            on (i.<*pk*> = d.<*pk*>)
    where
        <*other conditions if applicable*>
    ...

&LT; PK &GT;是适当的主键是什么。如果这是复合主键,那么将不同的主键组件AND组合在一起。

对于您到目前为止所描述的内容,您不需要if声明。