DDL tetikleyicileri

SQL Server'da Tetikleyiciler Oluşturma ve Optimize Etme

Florin Angelescu

Instructor

Tanım ve özellikler

DML tetikleyicileri

  • DML ifadeleriyle ilişkili olaylar INSERT, UPDATE, DELETE
  • AFTER veya INSTEAD OF ile kullanılır
  • tablolara veya görünümlere eklenir
  • özel inserted ve deleted tabloları

DDL tetikleyicileri

  • DDL ifadeleriyle ilişkili olaylar CREATE, ALTER, DROP
  • yalnızca AFTER ile kullanılır
  • veritabanlarına veya sunuculara eklenir
  • özel tablo yok
SQL Server'da Tetikleyiciler Oluşturma ve Optimize Etme

AFTER ve FOR

CREATE TRIGGER DatabaseChangeLog
FOR CREATE_TABLE
[...]
SQL Server'da Tetikleyiciler Oluşturma ve Optimize Etme

AFTER ve FOR

CREATE TRIGGER TrackDatabaseTables
FOR CREATE_TABLE
[...]

AFTER = FOR

SQL Server'da Tetikleyiciler Oluşturma ve Optimize Etme

DDL tetikleyici önkoşulları

  • Hedef nesne (sunucu veya veritabanı)
  • Tetikleyici açıklaması
  • Tetikleyiciyi çalıştıran olaylar (DDL)
  • Tetikleyici adı
  • DATABASE
  • Tanım değişiklikleri için günlük tablosu
  • CREATE_TABLE,ALTER_TABLE,DROP_TABLE
  • TrackTableChanges
SQL Server'da Tetikleyiciler Oluşturma ve Optimize Etme

DDL tetikleyici tanımı

CREATE TRIGGER TrackTableChanges

ON DATABASE
FOR CREATE_TABLE, ALTER_TABLE, DROP_TABLE
AS INSERT INTO TablesChangeLog (EventData, ChangedBy) VALUES (EVENTDATA(), USER);
SQL Server'da Tetikleyiciler Oluşturma ve Optimize Etme

DML tetikleyicileri için tetikleme olaylarını engelleme

CREATE TRIGGER PreventTableDeletion
ON DATABASE
FOR DROP_TABLE

AS RAISERROR ('Bu veritabanından tablo silmenize izin verilmiyor.', 16, 1); ROLLBACK;
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...