trigger ne demek

Trigger Nedir?

Trigger, bir veritabanı tablosunda bir değişiklik yapıldığında otomatik olarak çalıştırılan bir SQL komutudur. Tetikleyiciler, veritabanı bütünlüğünü korumak, verileri güncellemek veya diğer işlemleri gerçekleştirmek için kullanılabilir.

Tetikleyiciler, veritabanı tablolarına eklenebilir veya kaldırılabilir. Bir tetikleyici eklendiğinde, tetikleyiciyi çalıştıracak olan olay belirtilir. Tetikleyici kaldırılacak olduğunda, tetikleyiciyi çalıştıracak olan olay belirtilmez.

Tetikleyiciler, aşağıdaki olaylar tarafından çalıştırılabilir:

  • INSERT: Bir satır tabloya eklendiğinde
  • UPDATE: Bir satır tabloya güncellendiğinde
  • DELETE: Bir satır tablodan silindiğinde

Tetikleyiciler, aşağıdaki işlemleri gerçekleştirebilir:

  • Diğer tablolara satır ekleme veya güncelleme
  • E-posta gönderme
  • Sistem yöneticisine uyarı gönderme
  • Bir iş akışı başlatma

Tetikleyicilerin Kullanım Alanları

Tetikleyiciler, aşağıdaki amaçlar için kullanılabilir:

  • Veritabanı bütünlüğünü korumak: Tetikleyiciler, veritabanı tablolarına eklenen veya güncellenen verilerin geçerliliğini kontrol etmek için kullanılabilir. Örneğin, bir tetikleyici, bir müşteri tablosuna eklenen müşteri numarasının benzersiz olduğundan emin olmak için kullanılabilir.
  • Verileri güncellemek: Tetikleyiciler, veritabanı tablolarındaki verileri güncellemek için kullanılabilir. Örneğin, bir tetikleyici, bir müşteri tablosuna eklenen müşteri adresinin posta kodunu otomatik olarak güncellemek için kullanılabilir.
  • Diğer işlemleri gerçekleştirmek: Tetikleyiciler, e-posta gönderme, sistem yöneticisine uyarı gönderme veya bir iş akışı başlatma gibi diğer işlemleri gerçekleştirmek için kullanılabilir.

Tetikleyicilerin Avantajları ve Dezavantajları

Tetikleyicilerin avantajları şunlardır:

  • Veritabanı bütünlüğünü korumaya yardımcı olurlar.
  • Verileri otomatik olarak güncelleyebilirler.
  • Diğer işlemleri otomatik olarak gerçekleştirebilirler.

Tetikleyicilerin dezavantajları şunlardır:

  • Veritabanı performansını düşürebilirler.
  • Veritabanı yönetimini zorlaştırabilirler.
  • Güvenlik açıklarına yol açabilirler.

Tetikleyicilerin Kullanımı

Tetikleyiciler, aşağıdaki adımlar izlenerek kullanılabilir:

  1. Tetikleyiciyi çalıştıracak olan olay belirlenir.
  2. Tetikleyiciyi çalıştıracak olan SQL komutu yazılır.
  3. Tetikleyici veritabanı tablosuna eklenir.

Tetikleyiciler, aşağıdaki örneklerde gösterildiği gibi kullanılabilir:

  • Bir müşteri tablosuna eklenen müşteri numarasının benzersiz olduğundan emin olmak için bir tetikleyici kullanılabilir.
    CREATE TRIGGER unique_customer_number
    ON customers
    FOR INSERT
    AS
    BEGIN
    IF EXISTS (SELECT 1 FROM customers WHERE customer_number = NEW.customer_number)
    BEGIN
    RAISE ERROR('Customer number already exists.');
    END;
    END;

  • Bir müşteri tablosuna eklenen müşteri adresinin posta kodunu otomatik olarak güncellemek için bir tetikleyici kullanılabilir.
    CREATE TRIGGER update_customer_address
    ON customers
    FOR INSERT
    AS
    BEGIN
    UPDATE customers
    SET customer_address = NEW.customer_address,
    customer_city = NEW.customer_city,
    customer_state = NEW.customer_state,
    customer_zip = NEW.customer_zip
    WHERE customer_id = NEW.customer_id;
    END;

  • Bir müşteri tablosundan silinen bir müşteriye ait siparişleri otomatik olarak silmek için bir tetikleyici kullanılabilir.
    CREATE TRIGGER delete_customer_orders
    ON customers
    FOR DELETE
    AS
    BEGIN
    DELETE FROM orders
    WHERE customer_id = OLD.customer_id;
    END;

Sonuç

Tetikleyiciler, veritabanı bütünlüğünü korumak, verileri güncellemek veya diğer işlemleri gerçekleştirmek için kullanılan güçlü bir araçtır. Tetikleyiciler, dikkatli bir şekilde kullanıldığında veritabanı performansını ve güvenliğini artırabilir.


Yayımlandı

kategorisi