触发器:如果有人INSERT,UPDATE和DELETE表,则触发

时间:2014-10-15 03:46:53

标签: sql sql-server triggers

我创建了一个触发器,如果​​他们在TblCurrentRec中更新,删除或插入,则会将其用户名记录到ChangesLogtbl。

CREATE TRIGGER mytriggerforinsert
 @username = username           <------------------itried to place something like this
ON TblCurrentRec
AFTER INSERT
AS BEGIN
INSERT INTO ChangesLogtbl
     values ('username', 'GETDATE')
END
GO

这有效但我希望这个可以在架构中的所有表上工作。并且也不限制插入,但也删除和更新。 我尝试在网上使用所有内容,并复制和研究不同的样本,但无济于事。我是SQL的新手,这是我第一次创建触发器。希望你们能理解。

感谢。

2 个答案:

答案 0 :(得分:0)

您可以使用游标和Information_Schema.Tables视图在数据库的所有表上创建触发器。

答案 1 :(得分:0)

涵盖其他DML,

ON TblCurrentRec
AFTER INSERT or UPDATE or DELETE

进入架构级别覆盖,我怀疑你可以为schema中的所有表创建一个触发器。应该将toTriggers写入每个表。

如果DDL我们可以使用DATABASE TRIGGERS