我们如何手动运行触发器?

时间:2012-08-06 14:33:41

标签: sql-server-2008 sql-server-2008-r2

我使用的是SQL Server 2008 R2。

我想知道将tablelA中的列从0更新为1时是否可以运行触发器?

提前致谢

1 个答案:

答案 0 :(得分:1)

尝试这样的事情:

CREATE TABLE SomeTable 
(
   ID      INT          PRIMARY KEY,
   Col1    INT          NOT NULL,
   Col2    VARCHAR(100) NOT NULL
);

CREATE TRIGGER TR_SomeTable ON SomeTable 
AFTER UPDATE
AS
BEGIN
    IF UPDATE(Col1) 
    BEGIN
       UPDATE SomeTable SET Col2 = 'Col1 Changed'
       WHERE ID IN 
       (
            SELECT ID FROM INSERTED i INNER JOIN DELETED d on i.ID = d.ID
            WHERE d.Col1 = 0 AND i.Col1 = 1
       )
    END
END