SQL

SQL Ders21- Trigger Nedir

Trigger’lar, tablo üzerinde tanımlanabilen ve bu tablo üzerinde bir işlem gerçekleştiğinde tetiklenen programlama ögeleridir. Çalışma mantığı, C#’daki event ile aynıdır.

Öncelikle trigger’ları ikiye ayıralım: DDL ve DML trigger’lar. DML ve DDL konusunu bu yazımızda detaylıca göz atmak isterseniz buraya tıklayın.

Bu dersimizde DML trigger üzerinde işlemler yapacağız. DML Trigger’ları da kendi içinde AFTER(veya FOR) ve INSTEAD OF olmak üzere ikiye ayrılırlar. (AFTER ve FOR aynı anlamdadır)

AFTER : Yazdığımız trigger ‘after delete’ şeklindeyse, o tablo üzerinde data silindikten sonra bu trigger devreye girer. Bu trigger’lar tetiklendiğinde işlem gerçekleşmiş demektir.

INSTEAD OF : Yazdığımız trigger ‘instead of delete’ şeklindeyse, o tablo üzerindeki kayıt silme işlemi yerine, bu trigger devreye girecektir. Bu trigger’lar tetiklendiğinde işlem gerçekleşmemiş demektir.

Asıl işlenilen Trigger’ların konu başlıklarına göre ayırırsak şöyle olur.

  • Insert Trigger (ilgili tabloda ekleme işlemi olduğu anda)
  • Delete Trigger (ilgili tabloda silme işlemi olduğu anda)
  • Update Trigger (ilgili tabloda güncelleme işlemi olduğu anda)

Trigger Oluşturma

CREATE TRIGGER trigger_adi
 ON tablo_adi
 AFTER veya INSTEAD OF (INSERT veya UPDATE veya DELETE)
 AS
 Sql ifadeler

Trigger enable/disable Yapma

disable trigger trigger_adı On tablo_adı
 
enable trigger trigger_adı On tablo_adı

Trigger silme

drop trigger trigger_adı

Son olarak trigger’larımızı değiştirmek istedik veya trigger’larımızın nerede saklandığını merak ettik. Bunun için hangi tablo için trigger oluşturmuşsanız o tablonun altında Triggers klasörünün altında bulabilirsiniz.

Bir sonraki yazımızda Trigger konusuna devam edeceğiz.

hakkımdaki her şeyi bu blogda bulabilirsin. Haydi sende bir göz gezdirmeye ne dersin?

Bir yorum

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir