SQL’DE TRIGGERLAR(TETİKLEYİCİLER)
06 Temmuz 2010 – 01:45Trigger nedir?
Trigger’ın kelime anlamı tetikleyicidir,
Sqldeki anlamı da database tabloları üzerinde bir değişiklik olduğu zaman çalışan sql sorgularıdır.
Triggerlar ile insert,update,delete yapılabilir.
Trigger oluşturmak
create trigger TriggerAdi on TabloAdi tetikleyici seçeneği(hangi olay olduğunda çalışsın) as select .... creat trigger tg_KategoriSilindi on Categories for delete --category silinmesini takip ediyor as select 'biri bir tane kategori sildi' as silme ---verilecek mesaj |
Yeni eklenecek olan çalışanın adını veoyadını ve aldığı ID değerini ekrana
yazdıralım:
create trigger tg_CalisanEklendi on Employees for insert as declare @ad varchar(10) declare @soyad varchar(10) declare @id int select @ad=FirstName, @soyad=LastName, @id=EmployeeID from inserted declare @veri varchar(36) set @veri=cast(@id as varchar(3))+' '+@ad+' '+@soyad select @veri as veriyo insert into Employees(FirstName,LastName) values('fulya','ayluf') |
–ekleme işlemini yapılacağı zaman trigger da çalışır ve ekleme işlemi
İnstead of Triggerlar
Triggerlar ile asıl yapılması gereken yerine başka bir iş yaptırmak istediğimizde instead of trigger kullanılır.
Bu örnekte silme işlemi yerine mesaj verdirtecez:
create trigger tg_KtegorileriKoruyalim
on Categories
instead of delete
as
select ‘Kategorileri silemezsin!!!’ as mesaj
delete from Categories where CategoryID=1
İnsead of triggerların önemli kullanım alanlarından bir tanesi de viewler ile birlikte kullanmaktır,birden fazla kaynak tablo ile oluşturulmuş viewlerde insert,update,delete işlemleri yapılmak istendiğinde instead of trigger kullanmak zorunda kalınıyor,aksi halde hata verir.
DERYA GÜNDÜZ
deryagunduz.blogspot.com




