arkadaşlar instead of update trigger im var.
ve aynı tablo üzerinde for update trigger im da var. ( Bir çok tabloya, önceki ve sonraki miktar değerlerine göre, kayıt atıyor veya güncelliyor. )
ALTER TRIGGER [trg1]
ON [dbo].[table1]
INSTEAD OF UPDATE
AS
update table1
set
field1=(select field1 from inserted)
field2=(select field2 from inserted)
field3=(select field3 from inserted)
where...
-----------------------------------------------------
ALTER TRIGGER [trg2]
ON [dbo].[table1]
FOR UPDATE
AS
if update(field1)
begin
...
end
if update(field2)
begin
...
end
if update(field3)
begin
...
end
...
ben tabloya
programımdan (update table1 set field1='xxx' where...)
programımdan (update table1 set field1='xxx' , field3='YYY' where...)
programımdan (update table1 set field2='xxx' , field3='YYY' where...)
... diye çok ihtimallerle o anda update etmek istediğim field lerimi güncellemek istiyorum.
ama instead of trigger da hepsi de update olduğu için after trigger da if update(...) hepsi için de çalışıyor.
ben sadece o anda hangi alanları güncelliyorsam instead of trigger da o alanları güncellesin istiyorum. kontrol edip sql cümlesi oluşturuyorum exec ediyorum
bu sefer de recursive oluyor diyor ve hata alıyorum.
yani en özü; instead of trigger da öyle bir şey yapmak istiyorum ki inserted tablosundan programcı hangi alanları göndermişse sadece onları update etsin.
bunun çözümünü bilen varmıdır acaba yardım ederse sevinirim
dediğimde if update(field2)