2011-01-04 7 views
1

Wird bei der Ausgabe eines "DISABLE TRIGGER" als Teil des TSQL-Stapels der Kontext des Stapels festgelegt, oder ist der Trigger möglicherweise auch für andere gleichzeitige Abfragen deaktiviert?Ist TSQL DISABLE TRIGGER auf den aufrufenden Kontext beschränkt?

Wenn später, welche Art von Sperren ist erforderlich, um sicherzustellen, dass der Trigger nur für die ausstellende Abfrage deaktiviert ist?

+3

NICHT SCHREIEN. ;) – TrueWill

+1

gibt es Zeiten, in denen Google Chrome OS Hardware-Spezifikation ohne die Feststelltaste Sinn macht :-) http://www.wired.com/gadgetlab/2010/12/googles-gorgeous-cr-48-notebook-ditches -Feststelltaste/ – Hao

Antwort

5

Es ist global deaktiviert. Es ist nicht möglich, es nur für eine einzelne Verbindung zu deaktivieren.

Eine Technik, die Sie vielleicht in der Lage sein zu verwenden, ist folgendes zu Ihrem Trigger

if context_info() = cast('disabled' as varbinary(128)) 
return 

Dann in der Verbindung, die Sie "disable" der Auslöser für

declare @triggerdisabled varbinary(128) = cast('disabled' as varbinary(128)) 

set context_info @triggerdisabled 

To "verwenden möchte hinzufügen re-enable "it use

set context_info 0x 
Verwandte Themen