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:
- Veri bütünlüğünü koruma: Ekleme/güncelleme sırasında otomatik veri kontrolü veya değiştirme.
- Denetim: Veri değişiklikleri hakkında bilgileri ayrı bir günlük tablosuna kaydetme.
- Veri senkronizasyonu: Bağlantılı tabloların otomatik güncellenmesi.
- 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.