BEFORE ve AFTER
- SQL kursu
- İleri seviye
- Ders 49/81
- 4 dk
Zamanlama farkını öğrenirsin.
BEFORE ve AFTER
BEFORE olaydan önce, AFTER olaydan sonra çalışır. Doğrulama için BEFORE, loglama için AFTER.
CREATE TRIGGER check_balance
BEFORE UPDATE ON accounts
FOR EACH ROW
BEGIN
IF NEW.balance < 0 THEN
SIGNAL SQLSTATE '45000';
END IF;
END;Bu sorgu güncellemeden önce kontrol eder.
check_balance tetikleyicisi oluşturulur.
BEFORE ve AFTER — ayrıntı
BEFORE trigger'ı veriyi değiştirebilir veya işlemi durdurabilir. AFTER yalnız okur.
Örneğin BEFORE UPDATE ile negatif bakiyeyi reddedersin; AFTER UPDATE ise değişiklik yazıldıktan sonra log kaydı eklemek için uygundur.
Uygulama BEFORE ve AFTER
Bir BEFORE UPDATE trigger'ı yaz: negatif bakiyeyi engelle.
Başlangıç kodu
-- before trigger
CREATE TRIGGER check_balanceÖrnek çözüm
CREATE TRIGGER check_balance
BEFORE UPDATE ON accounts
FOR EACH ROW
BEGIN
IF NEW.balance < 0 THEN
SIGNAL SQLSTATE '45000';
END IF;
ENDBeklenen çıktı
Trigger oluşturuldu
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 BEFORE ekle
CREATE TRIGGER check_balance
____ UPDATE ON accounts
CREATE TRIGGER check_balance
BEFORE UPDATE ON accounts
Açıklama: BEFORE UPDATE tetikleyicisi güncelleme yazılmadan önce çalışır; geçersiz değeri engelleyebilir.
2 Doğrulama için hangi trigger?
- BEFORE Doğru cevap
- AFTER
- INSTEAD
- DURING
Açıklama: BEFORE trigger doğrulama içindir.
3 BEFORE ve AFTER: kavramları eşleştir
| Kavram | Anlamı |
|---|---|
BEFORE |
önce |
AFTER |
sonra |
doğrulama |
kontrol |
loglama |
kayıt |