繁体   English   中英

触发器:如果有人插入,更新和删除表则触发

[英]Trigger: Trigger if someone INSERT,UPDATE and DELETE a table

我创建了一个触发器,如果​​它们在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的新手,这是我第一次创建触发器。 希望你们能理解。

谢谢。

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

为了涵盖其他DML,

ON TblCurrentRec
AFTER INSERT or UPDATE or DELETE

进入架构级别的覆盖范围,我怀疑您是否可以为架构中的所有表创建一个触发器。触发器应写入每个表中。

如果在DDL我们可以使用DATABASE TRIGGERS

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM