Share via


Öncelikle belirtmek ve Tetikleyiciler son

Belirleyebileceğiniz tetikleyici veya son sonra tetikleyici sonra bir tabloyla ilişkilendirilmiş sonra tetikler ya da ilk kişi ateş her INSERT, delete ve update eylemleri tetikler. Arasında ilk ve son tetikleyici harekete sonra Tetikleyiciler tanımsız sırayla çalıştırılır.

SONRA tetikleyici sırasını belirtmek için kullanın sp_settriggerorder saklı yordamı. sp_settriggerorder aşağıdaki seçenekleri vardır.

Seçenek

Açıklama

First

Triggering eylem için tetikleyici harekete sonra ilk dml tetikleyici olduğunu belirtir.

Last

Triggering eylem için tetikleyici harekete sonra dml tetikleyici son olduğunu belirtir.

Hiçbiri

Hiçbir özel sipariş içinde dml tetikleyici harekete belirtir. Esas olarak da ilk veya son tetikleyici sıfırlamak için kullanılır.

Aşağıdaki örnek kullanarak sp_settriggerorder:

sp_settriggerorder @triggername = 'MyTrigger', @order = 'first', @stmttype = 'UPDATE'
Önemli notÖnemli

İlk ve son Tetikleyiciler, iki farklı dml Tetikleyiciler olmalıdır.

Bir tabloda ekleme, güncelleştirme ve silme Tetikleyicileri aynı anda tanımlanmış olabilir. Her deyimi türü kendi ilk ve son tetikleyici olabilir, ama onlar aynı Tetikleyiciler olamaz.

Bir tablo için tanımlanmış ilk veya son tetikleyici for update, delete veya eklemek için kaplama değil gibi triggering eylem, kapsamaz orada eksik eylemler için hiçbir ilk veya son tetikleyici.

INSTEAD of Tetikleyiciler ilk veya son tetikleyici belirtilemez. Güncelleştirmeler için temel tablolarda yapılmadan önce INSTEAD of Tetikleyicileri ateş. Güncelleştirmeler için temel tablolarda bir INSTEAD of tetikleyici tarafından yapılırsa, önce tablo üzerinde tanımlı tüm sonra Tetikleyiciler ateş güncelleştirmeler oluşur. Örneğin, bir görünüm INSTEAD OF INSERT tetikleyici verileri temel tabloya ekler ve bir INSTEAD OF INSERT tetikleyici ve üç sonra INSERT Tetikleyiciler temel tablo içeriyorsa, temel tablo üzerinde INSTEAD OF INSERT tetikleyici yerine ekleme eylemi tetiklenir ve temel tablo sonra Tetikleyiciler temel tablo ekleyerek herhangi bir eylem sonra ateşlenir. Daha fazla bilgi için, bkz. sp_settriggerorder (Transact-SQL).

Bir TETIKLEYICI alter deyimi ilk veya son tetikleyici değişirse ilk veya son özniteliği bırakılan ve sipariş değeri ayarlamak yok. Sırasını kullanarak sıfırlanması gerekir sp_settriggerorder.

objectproperty işlevi özelliklerini kullanarak bir tetikleyici ilk veya son tetikleyici olup rapor ExecIsFirstTrigger ve ExecIsLastTrigger.

Çoğaltma, ilk tetikleyici bir hemen güncelleştirmek içinde bulunan veya kuyruğa alınmış güncelleştirme aboneliği herhangi bir tablo için otomatik olarak oluşturur. Çoğaltma, onun tetiği ilk tetikleyici olmasını gerektirir. Çoğaltma, bir anında güncelleme veya kuyruğa alınmış güncelleştirme aboneliği ile ilk tetikleyici tablo dahil etmeye çalıştığınızda hata yükseltir. Bir tablo bir abonelik için dahil edilmiştir sonra tetikleyici ilk tetikleyici yapmaya çalışırsanız, sp_settriggerorder bir hata döndürür. Çoğaltma tetikleyicisi ya da kullanımı alter kullanırsanız sp_settriggerorder bir son veya hiçbiri çoğaltma tetikleyicisini değiştirmek için tetikleyici, abonelik düzgün çalışmaz.

Ayrıca bkz.

Başvuru

objectproperty (Transact-sql)

sp_settriggerorder (Transact-sql)