-- Kullanıcının tablo üzerinde güncelleme yaptığında
-- değişiklik tarihi kolonunun otomatik olarak
-- güncelleme yapıldığı tarihi alınmasının sağlanması
-- için yazılan update trigger örneği
Örnek Tablo kolonları:
KisiID, ZiyaretID,DegisiklikTarihi CREATE TRIGGER trigger_Guncellendi
ON Kisiler
for UPDATE
as
declare @id int
select @id = ziyaretID from deleted -- güncelleme için kayıt önce deleted (silinenler)
-- tablosuna gönderilir ardından da kayıt insert edilir
UPDATE Kisiler
SET degisiklikTarihi = getdate() --güncelleme yapıldığı tarihi db ye eklemiş olduk
WHERE ziyaretID=@id
--Kullanıcının birden fazla kayıt silmesini engellemek için yazılan bir delete trigger örneği
CREATE TRIGGER trigger_Silindi --Trigger adı
ON Kisiler --İlgili Tablo
for DELETE --Oluşturulacak trigger türü
as
declare @sayi int
select @sayi = count(*) from deleted --Silme işlemi için deleted (Silinmişler)
--tablosuna gönderilen kayıt sayısı
if @sayi>1
begin
rollback transaction
end
4 yorum:
Hocam Merhaba,
Trigger Örneklerini yazarken acaba triggerde kullanılan diğer tablolarıda yazmanız mümkün mü ?
Kemal bey, örneklerde aslında tek tablo var. Tablomuz Kisiler tablosu. deleted olarak adı geçen tablo ise triggerda otomatik olarak oluşturulan bir tablodur. Tetikleme esnasında silinen verinin bir kopyası deleted tablosunda saklanır.
Güzel Bilgi için teşekür ederim Aslı Hanım bir şey daha öğrenmiş oldum :)
Yorum Gönder