SQL Trigger Update çalıştırımasına izin verilmeden nasıl atlatılır?

Bir update, İnsert gibi sorgularımı çalıştırırken, Tablo’da bulunan trigger satırı çalıştırılmaması isteniyorsa; SQL Triggerin içine Cinfo isimli değişken oluşturarak tanımlama yapalım.

create trigger [dbo].[Queue_trigUpdate] on [dbo].[Queue]
for update
as   

declare @Cinfo varbinary(128)  
select @Cinfo = Context_Info()  
if @Cinfo = 0x55555  
    return  

print 'Trigger Çalıştırıldı'  
-- kodlar
go

Şimdi bir update sorgusunu yazalım ve Context_Info bilgisini de set edeli

set Context_Info 0x55555 
update  [Queue] set EntryDate = getdate()

Böylelikle update sorgularınızı çalıştırırken trigger çalıştırılmadan atlatacaktır.

Leave a Reply