-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