Sql server 如何在多表上触发触发器?

Sql server 如何在多表上触发触发器?,sql-server,Sql Server,有人知道是否可以在多个表上创建一个触发器吗。我的意思是: 假设有3个表X,Y,Z。 我想在表a中插入一行,以便对任何X、Y、Z表执行任何更新、插入或删除操作。您必须对每个表执行每个触发器,就像这样,没有其他解决方案: CREATE TRIGGER trig_X_changes ON X FOR INSERT, UPDATE, DELETE CREATE TRIGGER trig_Y_changes ON Y

有人知道是否可以在多个表上创建一个触发器吗。我的意思是:

假设有3个表X,Y,Z。
我想在表a中插入一行,以便对任何X、Y、Z表执行任何更新、插入或删除操作。

您必须对每个表执行每个触发器,就像这样,没有其他解决方案:

   CREATE TRIGGER trig_X_changes
           ON X
           FOR INSERT, UPDATE, DELETE

   CREATE TRIGGER trig_Y_changes
           ON Y
           FOR INSERT, UPDATE, DELETE
....

不能在三个不同的表上创建一个触发器,但如果要合并代码,可以将触发器代码插入到存储过程的表A中,并在每个仅调用存储过程的X Y&Z表上创建一个触发器


请注意,如果存储的过程代码需要访问插入或删除的表,则需要将它们作为参数从触发器传递到存储的过程。

如果有人希望以相同的方式处理两个或多个表,则通常需要,这表明它实际上应该是一个带有额外列的表,这些列编码当前嵌入在这些表名中的信息。你确定你没有处于那样的境地吗?