如何在transact sql中的Update上创建触发器,在更新的行中设置另一个字段? 例如:
UPDATE table SET true_false = 1 WHERE ID = @ID
将运行命令:
UPDATE table SET date = GETDATE() WHERE ID = @ID
。 请帮忙。我无法弄明白;)
答案 0 :(得分:3)
请记住,您必须始终允许在您编写的任何触发器中进行多行更新。
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