-

SQL DE TRİGGERLAR(TETİKLEYİCİLER)

Trigger 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

Category: Sql

Your email address will not be published. Required fields are marked *

*