更新ステートメントの前にトリガーを無効にし、SQL Serverの更新ステートメントの後で再度有効にする方法はありますか?更新ステートメントの前にトリガーを無効にし、SQL Serverの更新ステートメントの後で再び有効にする方法はありますか?
- 無効にトリガー
Update Table_name set column = 'col' where something
- トリガーを有効にします。
このT-SQLコードをSQL Serverに書き込む方法を教えてください。
更新ステートメントの前にトリガーを無効にし、SQL Serverの更新ステートメントの後で再度有効にする方法はありますか?更新ステートメントの前にトリガーを無効にし、SQL Serverの更新ステートメントの後で再び有効にする方法はありますか?
Update Table_name set column = 'col' where something
このT-SQLコードをSQL Serverに書き込む方法を教えてください。
代わりのトリガーを無効に私は、このようSET CONTEXT_INFO
(ref)とCONTEXT_INFO()
(ref)を使用します
を[1] Iトリガ
を変化させますALTER TRIGGER ...
AFTER UPDATE
ON dbo.MyTable
AS
BEGIN
IF CONTEXT_INFO() = 0x1256698456
BEGIN
RETURN
END
... original source code ...
END
[2]私はがトリガーを活性化させるべきではないと任意のUPDATE文の前に
SET CONTEXT_INFO 0x1256698456
UPDATE dbo.MyTable SET Col1 = 'Val1' WHERE ID = @param
SET CONTEXT_INFO 0x
。この場合、トリガは有効になりますが、コンテキスト情報が0x1256698456
の場合、元のソースコードを実行せずに終了します。
どのコードを試しましたか? https://docs.microsoft.com/en-us/sql/t-sql/statements/disable-trigger-transact-sql – lit