-3
我有一个跟踪“Table1”中的更改的审计表“Audit_Table1”。但问题在于,存储过程在同一个SP中的3个不同阶段更新表。但触发器也发射了三次。那么我能做些什么,只触发一次触发器并捕获所有的变化。更新单个记录后审计表中的多个记录
我有一个跟踪“Table1”中的更改的审计表“Audit_Table1”。但问题在于,存储过程在同一个SP中的3个不同阶段更新表。但触发器也发射了三次。那么我能做些什么,只触发一次触发器并捕获所有的变化。更新单个记录后审计表中的多个记录
在您的存储过程中,您可以选择在不希望触发的时间段内禁用表格触发器。
DISABLE TRIGGER { [ schema_name . ] trigger_name [ ,...n ] | ALL }
ON { object_name | DATABASE | ALL SERVER } [ ; ]
您可以在这里了解更多:
DISABLE TRIGGER (Transact-SQL)
它不会捕捉 “所有的变化”,我真的不明白。
如果您不想捕获某些部分,请使用上述内容。
我无法禁用触发器。它应该始终启用,但只能在特定存储过程的范围内触发一次 – Megha
@Megha触发器的定义是什么?如果是INSERT/UPDATE/DELETE等,它将被调用,无论该表上发生的每个INSERT/UPDATE/DELETE如何。 – Patrick
这是一个更新后的触发器。我在其中一个触发器中引入了一个叫做context_info的accros。但不知道如何在这种情况下使用它或甚至有用。 – Megha