Tsql 需要更新触发器t-sql的帮助
如何在transact-sql中创建更新时触发器,以在更新行中设置另一个字段? 例如:Tsql 需要更新触发器t-sql的帮助,tsql,triggers,Tsql,Triggers,如何在transact-sql中创建更新时触发器,以在更新行中设置另一个字段? 例如: UPDATE table SET true_false = 1 WHERE ID = @ID 将运行以下命令: UPDATE table SET date = GETDATE() WHERE ID = @ID 。 请帮忙。我想不出来;) 请记住,您必须始终允许在您编写的任何触发器中进行多行更新 create trigger tr_U_YourTable on YourTable for Update as
UPDATE table SET true_false = 1 WHERE ID = @ID
将运行以下命令:
UPDATE table SET date = GETDATE() WHERE ID = @ID
。
请帮忙。我想不出来;) 请记住,您必须始终允许在您编写的任何触发器中进行多行更新
create trigger tr_U_YourTable
on YourTable
for Update
as
begin
if update(true_false)
update yt
set date = getdate()
from Inserted i
inner join Deleted d
on i.ID = d.ID
inner join YourTable yt
on i.ID = yt.ID
where coalesce(i.true_false,0) <> coalesce(d.true_false,0)
end
创建触发器tr\U\U表
在你桌上
更新
作为
开始
如果更新(true\u false)
更新yt
set date=getdate()
从插入i
内部联接已删除
在i.ID=d.ID上
内部联接表yt
on i.ID=yt.ID
其中coalesce(i.true\u false,0)coalesce(d.true\u false,0)
结束
请记住,您必须始终允许在编写的任何触发器中进行多行更新
create trigger tr_U_YourTable
on YourTable
for Update
as
begin
if update(true_false)
update yt
set date = getdate()
from Inserted i
inner join Deleted d
on i.ID = d.ID
inner join YourTable yt
on i.ID = yt.ID
where coalesce(i.true_false,0) <> coalesce(d.true_false,0)
end
创建触发器tr\U\U表
在你桌上
更新
作为
开始
如果更新(true\u false)
更新yt
set date=getdate()
从插入i
内部联接已删除
在i.ID=d.ID上
内部联接表yt
on i.ID=yt.ID
其中coalesce(i.true\u false,0)coalesce(d.true\u false,0)
结束