SQL 服务器 - 在模式中插入 table 后触发
SQL Server - trigger AFTER INSERT table in schema
我有一个存储过程 运行 在一组 table 之后,所有这些都属于同一模式 [DATA_Countries]
,被删除然后重新插入。
该操作由另一个应用程序执行,该应用程序删除并重新创建我无法控制的目标 table。
由于 table 每次都被删除并重新创建,我无法在每个目标 table 上使用触发器。
有没有办法在每次将 table 插入特定模式时获取触发器,以 return 此类 table 的名称并启动参数化存储过程?
谢谢!
是的,您可以在 SQL 服务器上创建 DDL 触发器来跟踪 DDL 更改。例如,如果我想在我的数据库 AdventureWorks 上跟踪存储过程的变化,我可以像这样创建一个触发器
CREATE TRIGGER td_ProcTrack
ON AdventureWorks
FOR CREATE_PROCEDURE, ALTER_PROCEDURE, DROP_PROCEDURE
AS
BEGIN
<my code>
END
请参阅此 Article 以获得更详细的示例
我有一个存储过程 运行 在一组 table 之后,所有这些都属于同一模式 [DATA_Countries]
,被删除然后重新插入。
该操作由另一个应用程序执行,该应用程序删除并重新创建我无法控制的目标 table。
由于 table 每次都被删除并重新创建,我无法在每个目标 table 上使用触发器。
有没有办法在每次将 table 插入特定模式时获取触发器,以 return 此类 table 的名称并启动参数化存储过程?
谢谢!
是的,您可以在 SQL 服务器上创建 DDL 触发器来跟踪 DDL 更改。例如,如果我想在我的数据库 AdventureWorks 上跟踪存储过程的变化,我可以像这样创建一个触发器
CREATE TRIGGER td_ProcTrack
ON AdventureWorks
FOR CREATE_PROCEDURE, ALTER_PROCEDURE, DROP_PROCEDURE
AS
BEGIN
<my code>
END
请参阅此 Article 以获得更详细的示例