SQL Server会触发相互问问题
我有一个审计触发器,它自动在我所有表的字段中放置更新的时间和更新的用户。我有另一组触发器,它们将更新中的事件信息写入事件表。问题是,当某人更新某个内容时,由于第一个触发器,事件信息会被触发两次。如何抑制重复条目?我想您有两种选择:SQL Server会触发相互问问题,sql,triggers,Sql,Triggers,我有一个审计触发器,它自动在我所有表的字段中放置更新的时间和更新的用户。我有另一组触发器,它们将更新中的事件信息写入事件表。问题是,当某人更新某个内容时,由于第一个触发器,事件信息会被触发两次。如何抑制重复条目?我想您有两种选择: 或者将两组触发器组合成一组 或者,每个数据库都有一个设置,允许禁用触发器的递归触发 查看触发器级别函数。它返回触发器嵌套的当前级别。您可以检查它以防止重复。如果您有足够的权限(某些Web主机不允许您这样做),您还可以同时关闭嵌套触发器。有一个名为sp_configur
查看触发器级别函数。它返回触发器嵌套的当前级别。您可以检查它以防止重复。如果您有足够的权限(某些Web主机不允许您这样做),您还可以同时关闭嵌套触发器。有一个名为sp_configure的存储过程(Sql 2005),可用于修改服务器的配置。下面的语句禁用嵌套触发器,这将阻止触发器触发另一个触发器
exec sp_configure'nested triggers',0也可以在SS2005中禁用触发器触发行为,方法是进入SS Mgt Studio并选择相关服务器的图标,右键单击,然后选择“属性”。然后从左侧列表中选择“高级”,并将“允许触发器触发其他触发器”的值设置为“False”