SQL Server - 在模式中触发AFTER INSERT表

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL Server - 在模式中触发AFTER INSERT表相关的知识,希望对你有一定的参考价值。

我有一个存储过程在一组表之后运行,所有表都属于相同的模式[DATA_Countries],然后被删除然后重新插入。

该操作由另一个应用程序执行,该应用程序删除并重新创建目标表,我无法控制该目标表。

由于每次都删除并重新创建表,因此我无法在每个目标表上使用触发器。

有没有办法在每次将表插入特定模式时获取触发器,以返回此类表的名称并启动参数化存储过程?

谢谢!

答案

是的,您可以在SQL Server上创建DDL触发器以跟踪DDL更改。例如,如果我想跟踪数据库AdventureWorks上的存储过程中的更改,我可以创建这样的触发器

CREATE TRIGGER td_ProcTrack 
ON AdventureWorks
FOR CREATE_PROCEDURE, ALTER_PROCEDURE, DROP_PROCEDURE
AS
BEGIN

<my code>

END

有关更详细的示例,请参阅此Article

以上是关于SQL Server - 在模式中触发AFTER INSERT表的主要内容,如果未能解决你的问题,请参考以下文章

sql server 的after触发器之insert触发器实例

SQL Server“AFTER INSERT”触发器看不到刚刚插入的行

SQL Server 触发器

SQL Server插入触发器改进

SQL 触发器中的 FOR/AFTER

sqlserver2005触发器问题