Ddl Tetikleyiciler (TRIGGERS)

Bu aracın Dml'den tek farkı tablo/view üzerinde ekleme, silme ve güncelleme işlemlerini tetiklemezler. Gelin hızlıca bunlara bakalım.

Bu aracın Dml'den tek farkı tablo/view üzerinde ekleme, silme ve güncelleme işlemlerini tetiklemezler. Gelin hızlıca bunlara bakalım.

DDL Tetikleyicileri (DDL Triggers)

DML tetikleyicilerine benzerler. Tek farkı tablo/view üzerinde ekleme, silme ve güncelleme işlemlerini tetiklemezler. Bunun yerine DDL komutları olan create, alter ve drop işlemlerini tetikler. DDL tetikleyicilerinde instead of tetikleyicisi kullanılmaz.

Aşağıdaki örnekte veritabanında herhangi bir tablonun silinmesi veya düzenlenmesi engelleniyor.

CREATE TRIGGER droplama

ON database --All Server da yazılabilir. All Server ifadesi server daki tüm veritabanlarında etkili olsun anlamındadır.

FOR DROP_TABLE, ALTER_TABLE

AS

   PRINT 'engellendi'

   ROLLBACK --yapılacak işlemi iptal et

 

drop table yazar ile yazar tablosunu silmeye çalıştığınızda engellendi yazısıyla karşılaşırsınız.

on database kısmında database yerine veritabanının ismi yazılmaz. DDL tetikleyiciler üzerinde bulunulan veritabanı üzerinde çalışılır. Bu yüzden sadece database (ya da All Server) yazılır.

 

CREATE TRIGGER oluşturmasın

ON database --All Server da yazılabilir. All Server ifadesi server daki tüm veritabanlarında etkili olsun anlamındadır.

FOR CREATE_TABLE

AS

   PRINT 'TABLO OLUŞTURAMAZSINIZ'

   ROLLBACK --yapılacak işlemi iptal et

Telefon +90 505 747 42 84
Email info@devedijital.com
Adres
Tacettin Veli Mahallesi Halit Narin Caddesi Bahadır Plaza Kat:11 Daire:41 38230 Deve Dijital Melikgazi/Kayseri/Türkiye