Okan Uzun
Okan Uzun Administrator of The Coders, J2EE, Spring Developer | Functional Programming Enthusiast

Trigger Kullanımı


Merhaba arkadaşlar :) Bugün çoğu veri tabanı sistemlerinde kullanılan Triggerlar hakkında bilgi vereceğim.

Triggerların Türkçesi tetikleyici demektir. Yani akla ilk olarak bir şey sonucunda etkilenen manası gelmektedir. Aslında tam olarak da Triggerlar bunu sağlar.

Triggerları veri tabanlarımızda kullanmamızın ana sebebi bir yerde bir değişiklik olduğunda buna paralel olarak başka bir yerde de değişikliğin sağlanmasıdır. Mesela bir veri tabanımız var ve içinde iki tane tablo olduğunu varsayalım ve X adlı tablomuzda değişiklik yapmak istiyoruz. Bu ekleme olabilir, silme olabilir ya da güncelleme olabilir. Eğer buna bağlı olarak Y tablomuzda da değişiklik olmasını istiyorsak Triggerları kullanırız. Bu bize dinamik bir değişiklik kazandırır. Yani bir tablonun içeriğini değiştirdikten sonra başka bir tablonun içeriğini değiştirmemize gerek kalmaz bu otomatik olarak gerçekleşir.

Triggerları, programlama dillerindeki şart cümleciklerine de benzetebilirsiniz.Yani şartın sağlanması gerekir şart sağlanıyorsa eğer Trigger çalışır.

Triggerlar Insert, Delete ve Update işlemleri üzerinde çalışırlar.

Veri tabanımızda bir Trigger yaratmak için aşağıdaki yapıyı kullanırız.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
CREATE [OR REPLACE ] TRIGGER trigger_name 
    {BEFORE | AFTER | INSTEAD OF } 
    {INSERT [OR] | UPDATE [OR] | DELETE} 
    [OF col_name] 
    ON table_name 
    [REFERENCING OLD AS o NEW AS n] 
    [FOR EACH ROW] 
    WHEN (Şart)  
    DECLARE
       --Değişken tanımlamaları
    BEGIN 
       --Kod kısmı
    EXCEPTION
       --Olası hata durumları
    END; 

comments powered by Disqus