PostgreSQL TRIGGER Nedir ?Nasıl Kullanılır?

PostgreSQL TRIGGER Nedir ?Nasıl Kullanılır?, trigger’ın Türkçe karşılığı tetikleyici olarak geçmektedir. Veritabanı sistemlerinde ,bir tabloda belirli olaylar meydana gelmeden  ya da geldikten sonra yapılması istenen işlemleri otomatik olarak gerçekleştirilen yapılardır. postgresql trigger function kullanmaktadır.

Tetikleyiciler kullanıcılar tarafından manuel olarak çalıştırılamaz.

Tetikleyiciler  , içerisinde yazılan işlemlere göre işlem yapılmadan önce  veya yapıldıktan sonra işlemleri gerçekleştirir.

Tetikliyiciler insert,update,delete,create table…. vb  gibi işlemlerde kullanılabilir.

Tetikleyiciler ,bulunduğu tabloya gelen dml işlemlerinde performans kaybına neden açar.

Tetikleyiciler ,  büyük verilerde locklara neden olabilir.

After Trigger: İşlem gerçekleştikten sonra devreye giren tetikleyicilerdir.

Before Trigger: İşlem gerçekleştikten sonra devreye giren tetikleyicidir.

Instead Of Trigger: İşlem gerçekleşeceği sırada kullanılır.

FOR EACH ROW: Yapılan her işlem için yapılır . Örnek olarak 1000 delete yapıldıysa hepsini yazar.

FOR EACH STATEMENT:  Yapılan her işlem için tek işlem yapar . Örnek olarak 1000 delete yapıldıysa sadece tekini yazar.

PostgreSQL de trigger tanımlamak için ilk olarak yapılmak istenen işlemi function ya da procedure yapmamız gerekiyor bu işlemi yaptıktan sonra trigger içerisinde oluşturulan fonksiyonu yada procedure ‘ü belirtmemiz gerekiyor.

Genel kullanımı aşağıdaki gibidir.

 

CREATE FUNCTION trigger_function() 
   RETURNS TRIGGER 
   LANGUAGE PLPGSQL
AS $$
BEGIN
   -- trigger logic
END;
$$

CREATE TRIGGER trigger_ismi
  AFTER INSERT
  ON tablo_adi
  FOR EACH ROW
  EXECUTE PROCEDURE function_ismi();



Loading