SQL’DE TRIGGERLAR(TETİKLEYİCİLER)

06 Temmuz 2010 – 01:45

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
adsiz9

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

r

İ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

d

İ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

Bookmark and Share

Post a Comment

Subscribe without commenting