Sql server 2008 我们如何手动运行触发器?
我正在使用SQLServer2008R2 我想知道,当我从Sql server 2008 我们如何手动运行触发器?,sql-server-2008,sql-server-2008-r2,Sql Server 2008,Sql Server 2008 R2,我正在使用SQLServer2008R2 我想知道,当我从tabella将列从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
tabella
将列从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
你说的手动是什么意思?你可以写,比如说一个更新触发器,当某个列被更新时触发,但这很难“手动运行触发器”。是的,手动意味着当我将一个列值从0更新到1时,触发器被触发。如果那是该表上更新后的
触发器-那么是的,它会在您更新该表上的任何内容时触发。这就是触发器的作用。但这不是“手动”运行触发器。。。UPDATE
操作将触发触发器。您能给我一个示例,以便我可以实现它吗。@RGI:这有什么帮助?如果有人更新了Col1以外的任何列,那么您的条件仍然会产生true。我只是想在更新Col1时运行触发器,我遇到了一种情况,我想通过将Col1从0更新为1来运行触发器。