如何为已删除的项目编写触发器?
Posted
技术标签:
【中文标题】如何为已删除的项目编写触发器?【英文标题】:How to write trigger for deleted item? 【发布时间】:2011-09-03 12:21:53 【问题描述】:我已经创建了两个触发器:
create trigger [insert_history] on users
for insert
as
insert audit(action_type, table_name, object_name, time)
select 'Inserted', 'users', username, getdate()
from inserted
go
create trigger [update_history] on users
for update
as
insert audit(action_type, table_name, object_name, time)
select 'Updated', 'users', username, getdate()
from deleted
Inserted 从 inserated 中检索值。 更新从已删除中检索值。
delete语句呢?
【问题讨论】:
【参考方案1】:这也将使用deleted
伪表。
它可以使用for update, delete
与您的update
触发器合并,因为您的更新触发器仅包含“之前”值,因此当前两者的代码相同。
编辑:虽然你的触发器需要检查 EXISTS(SELECT * FROM inserted)
是否确定操作字符串,所以可能分开会更容易。
【讨论】:
以上是关于如何为已删除的项目编写触发器?的主要内容,如果未能解决你的问题,请参考以下文章