小编srh*_*srh的帖子

SQL Server:如何仅针对当前会话禁用更新触发器?

我正在研究 SQL Server 2008 R2。

我有一个表的好处,它有一个名为tiu_benefit的 AFTER INSERT, UPDATE 触发器。

我想为此表编写一个 UPDATE 语句来更新 1 行,但我不希望触发它的触发器。我知道我可以在 UPDATE 之前禁用触发器,然后在 UPDATE 之后启用触发器:

DISABLE TRIGGER tiu_benefit ON benefit;  
GO  
UPDATE benefit SET editor = 'srh' where benefit_id = 9876
GO
ENABLE TRIGGER tiu_benefit ON benefit;  
GO  
Run Code Online (Sandbox Code Playgroud)

但是这个禁用和启用触发器将影响当前登录的所有用户。因此,当我的脚本禁用触发器时,另一个用户有可能运行 UPDATE/INSERT,这并不好。这就是为什么我只想为当前会话禁用和启用触发器。是否可以?如果是,请告诉如何。

谢谢

trigger sql-server update

18
推荐指数
2
解决办法
2万
查看次数

标签 统计

sql-server ×1

trigger ×1

update ×1