24 Ağustos 2017 Perşembe

Trigger Kullanımı - After Trigger

Trigger yani tetikleyici kullanımlarına bir kaç örnek verelim. After triggerlar olay gerçekleştikten sonra devreye giren triggerlardır. Bu olaylar ekleme silme ya da güncelleme olabilir. İşlemler genel olarak sanal tablo olan inserted ve deleted tabloları üzerinden gerçekleştirilir.

Ekleme işleminden sonra devreye giren trigger örneği;



ALTER TRIGGER ekle -- trigger Adi
ON Ogretmenler -- hangi tablo icin tetiklenecek
AFTER INSERT -- hangi islem icin tetiklenecek
AS
declare @ad nvarchar(50) set @ad=(select ad from inserted) -- eklenen verileri degiskene ata.
declare @soyad nvarchar(50) set @soyad = (select soyad from inserted)
INSERT INTO Log VALUES(GETDATE(),@ad+' '+@soyad +' adlı kişi ' +CONVERT(VARCHAR(11), GETDATE(), 106) +'tarihinde eklenmiştir.') -- degiskenleri log tablosuna ekle.

Silme işleminden sonra devreye giren trigger örneği;



ALTER TRIGGER sil -- trigger Adi
ON Ogretmenler -- hangi tablo icin tetiklenecek
AFTER DELETE -- hangi islem icin tetiklenecek
AS
declare @ad nvarchar(50) set @ad=(select ad from deleted) -- eklenen verileri degiskene ata.
declare @soyad nvarchar(50) set @soyad = (select soyad from deleted)
INSERT INTO Log VALUES(GETDATE(),@ad+' '+@soyad +' adlı kişi ' +CONVERT(VARCHAR(11), GETDATE(), 106) +' tarihinde silinmiştir.') -- degiskenleri log tablosuna ekle.

Güncelleme işleminden sonra devreye giren trigger örneği (önce delete sonra insert);



CREATE TRIGGER guncelle -- trigger Adi
ON Ogretmenler -- hangi tablo icin tetiklenecek
AFTER UPDATE -- hangi islem icin tetiklenecek
AS
declare @eskiAd nvarchar(50) set @eskiAd=(select ad from deleted) -- eski veri sanal tablodan alindi.
declare @yeniAd nvarchar(50) set @yeniAd=(select ad from inserted) -- yeni veri sanal tablodan alindi.
declare @eskiSoyad nvarchar(50) set @eskiSoyad = (select soyad from deleted)
declare @yeniSoyad nvarchar(50) set @yeniSoyad = (select soyad from inserted)
INSERT INTO Log VALUES(GETDATE(),@eskiAd+' '+@eskiSoyad +' adlı kişi '  
+CONVERT(VARCHAR(11), GETDATE(), 106) +' tarihinde '+@yeniAd + ' ' + @yeniSoyad 
 +' şeklinde düzenlenmiştir.') -- degiskenleri log tablosuna ekle.
Paylaş:

0 yorum:

Yorum Gönder