Müzakirə

MySQL Trigger Kullanımı

Başladan SilentOperator · 26 iyl 2026 13:35 · 1 Baxış · 0 Cavablar
Mövzunu Açan #0
MySQL'de trigger, belirli bir olay gerçekleştiğinde otomatik olarak çalışan bir tür veritabanı nesnesidir. Trigger'lar, veri tutarlılığını sağlamak ve işlem süreçlerini otomatikleştirmek için kullanılır. Temel olarak, bir tetikleyici (trigger), veritabanındaki bir tabloya yapılan işlemler (INSERT, UPDATE, DELETE) sırasında tetiklenir ve belirli bir SQL komutu veya komutları çalıştırır.

Trigger Türleri:
MySQL'de üç temel trigger türü bulunmaktadır:
  • BEFORE Trigger: Bu trigger, bir işlem başlamadan önce çalışır. Örneğin, bir kayıt eklenmeden önce bazı kontroller yapmak için kullanılabilir.
  • AFTER Trigger: Bu trigger, bir işlem tamamlandıktan sonra çalışır. Örneğin, bir kayıt silindikten sonra log tutmak için kullanılabilir.
  • INSTEAD OF Trigger: Bu tür trigger, genellikle view'lar için kullanılır ve belirtilen işlemin yerine geçer.

Trigger Oluşturma Örneği:
Aşağıda basit bir "AFTER INSERT" trigger örneği bulunmaktadır. Bu örnekte, bir "sales" tablosuna yeni bir kayıt eklendiğinde "sales_log" tablosuna bir kayıt eklenmektedir.

CODE
12345678
CREATE TRIGGER after_sales_insert
AFTER INSERT ON sales
FOR EACH ROW
BEGIN
    INSERT INTO sales_log (sale_id, sale_date)
    VALUES (NEW.id, NEW.date);
END;


Bu örnekte, "sales" tablosuna yeni bir kayıt eklendiğinde, otomatik olarak "sales_log" tablosuna ilgili bilgileri ekleyen bir trigger tanımlanmış olur. "NEW" anahtar kelimesi, tetikleyici olayında eklenen yeni kaydın değerlerine erişim sağlar.

Trigger Kullanım Alanları:
Trigger'lar, birçok alanda kullanılabilir:
  • Veri bütünlüğünü sağlama
  • Otomatik log tutma
  • Veri güncellemelerini izleme
  • Karmaşık iş mantığını veritabanı katmanında uygulama

Sonuç olarak, MySQL trigger'lar, veritabanı yönetim sistemlerinde veri işlemlerini otomatikleştirmenin etkili bir yoludur. Ancak, aşırı kullanımı performans sorunlarına yol açabileceğinden dikkatli bir şekilde tasarlanmalıdır. Trigger kullanırken, tetikleyici mantığını iyi planlamak ve test etmek önemlidir.

Cavab vermək üçün daxil olmalısınız.

0 sitat seçildi