Basit Trigger Örnekleri

31 Temmuz 2009

-- 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