Sobes.tech
Junior

Trigger nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Bir tetikleyici, belirli bir olay gerçekleştiğinde otomatik olarak çalışan özel bir saklı prosedürdür.

Tetikleyicileri tetikleyen olaylar genellikle şunları içerir:

  • INSERT: tabloya yeni satırlar ekleme.
  • UPDATE: mevcut satırları değiştirme.
  • DELETE: tablodan satır silme.

Tetikleyiciler, olayla ilgili farklı zamanlarda tetiklenebilir:

  • BEFORE: olay gerçekleşmeden önce.
  • AFTER: olay gerçekleştiktan sonra.
  • INSTEAD OF: olayın yerine (genellikle görünümlerle kullanılır).

Tetikleyici kullanımı örnekleri:

  1. Veri bütünlüğünü koruma: Ekleme/güncelleme sırasında otomatik veri kontrolü veya değiştirme.
  2. Denetim: Veri değişiklikleri hakkında bilgileri ayrı bir günlük tablosuna kaydetme.
  3. Veri senkronizasyonu: Bağlantılı tabloların otomatik güncellenmesi.
  4. Gelişmiş iş kurallarını yürütme: Belirli koşullar altında ek işlemler başlatma.

Tetikleyiciler, tablo seviyesinde tanımlanır ve değiştirilen satırın eski ve yeni değerlerine referans verebilir.

-- Söz dizimi örneği (SQL)
CREATE TRIGGER audit_log
AFTER INSERT ON users
FOR EACH ROW
BEGIN
    INSERT INTO audit (user_id, action, timestamp)
    VALUES (NEW.id, 'insert', NOW());
END;

Tetikleyicilerin dikkatli kullanılması önemlidir, çünkü hata ayıklamayı zorlaştırabilir ve veritabanı performansını olumsuz etkileyebilir.