Giriş

SQL Server'da Tetikleyiciler Oluşturma ve Optimize Etme

Florin Angelescu

Instructor

Tetikleyici nedir?

  • Özel bir saklı yordam türü
  • Veritabanı sunucusunda bir olay olduğunda çalışır

Bir Tetikleyici Nasıl Çalışır

SQL Server'da Tetikleyiciler Oluşturma ve Optimize Etme

Tetikleyici türleri (T-SQL komutlarına göre)

  • Veri İşleme Dili (DML) tetikleyicileri
    • INSERT, UPDATE veya DELETE ifadeleri
  • Veri Tanımlama Dili (DDL) tetikleyicileri
    • CREATE, ALTER veya DROP ifadeleri
  • Oturum açma tetikleyicileri
    • LOGON olayları
SQL Server'da Tetikleyiciler Oluşturma ve Optimize Etme

Tetikleyici türleri (davranışa göre)

  • AFTER tetikleyicisi

    • Özgün ifade çalışır
    • Ek ifadeler tetiklenir
  • Kullanım örnekleri

    • Büyük bir eklemeden sonra dizini yeniden oluşturma
    • Veri güncellendiğinde yöneticiye bildirim
SQL Server'da Tetikleyiciler Oluşturma ve Optimize Etme

Tetikleyici türleri (davranışa göre)

  • INSTEAD OF tetikleyicisi

    • Özgün ifadenin çalışması engellenir
    • Yerine bir başka ifade çalıştırılır
  • Kullanım örnekleri

    • Eklemleri engelleme
    • Güncellemeleri engelleme
    • Silmeleri engelleme
    • Nesne değişikliklerini engelleme
    • Yöneticiye bildirim
SQL Server'da Tetikleyiciler Oluşturma ve Optimize Etme

Tetikleyici tanımı (AFTER ile)

-- Tetikleyiciyi açıklayıcı bir adla oluşturun
CREATE TRIGGER ProductsTrigger

-- Tetikleyici bir tabloya bağlı olmalıdır ON Products
-- Tetikleyici davranış türü AFTER INSERT
-- Tetikleyici iş akışının başlangıcı AS
-- Tetikleyicinin yürüttüğü eylem PRINT ('Products tablosuna veri eklendi.');
SQL Server'da Tetikleyiciler Oluşturma ve Optimize Etme

Tetikleyici tanımı (INSTEAD OF ile)

-- Tetikleyiciyi açıklayıcı bir adla oluşturun
CREATE TRIGGER PreventDeleteFromOrders
-- Tetikleyici bir tabloya bağlı olmalıdır
ON Orders
-- Tetikleyici davranış türü
INSTEAD OF DELETE
-- Tetikleyici iş akışının başlangıcı
AS
-- Tetikleyicinin yürüttüğü eylem
PRINT ('Orders tablosundan satır silmenize izin verilmiyor.');
SQL Server'da Tetikleyiciler Oluşturma ve Optimize Etme

AFTER ve INSTEAD OF

CREATE TRIGGER MyFirstAfterTrigger
ON Table1
-- Tetikleme olayı (UPDATE) sonrası tetiklenir
AFTER UPDATE
AS
{trigger_actions_section};
CREATE TRIGGER MyFirstInsteadOfTrigger
ON Table2
-- Tetikleme olayı (UPDATE) yerine tetiklenir
INSTEAD OF UPDATE
AS
{trigger_actions_section};
SQL Server'da Tetikleyiciler Oluşturma ve Optimize Etme

Hadi pratik yapalım!

SQL Server'da Tetikleyiciler Oluşturma ve Optimize Etme

Preparing Video For Download...