AdventureWorks2008R2 örnek veritabanındaki dml Tetikleyicileri
Bu konuda çeşitli örnekleri dahil edilen dml Tetikleyiciler açıklar AdventureWorks2008R2 örnek veritabanı.dml Tetikleyiciler bu iş kurallarını uygulamak için tasarlanmış Adventure Works Cycles ve korunmasına yardımcı olmak için bütünlük , kendi veri.
Her tetikleyici metnini sql Server Management Studio'da görüntülemek için
Object Explorer'da tablo üzerinde tetikleyici tanımlanmış ve genişletmek bulun Tetikleyicileri klasörü.
Sağ tıklatın ve'i tetikleyici Script tetikleyici olarak.
Bir güncelleştirme sonra bir alanı ayarlama
uSalesOrderHeader dml tetikleyici
Tablo Sales.SalesOrderHeader içeren RevisionNumber sütun numarasını yansıtacak şekilde, belirli bir zaman hariç olmak üzere, satır Status alan, güncelleştirildi.DML tetikleyicisi uSalesOrderHeader artışlarla RevisionNumber alan, birini veya kümeleri için bir IF, null olup bu, sonra bir güncelleştirme.
The uPurchaseOrderHeader DML trigger performs the same action to table Purchasing.PurchaseOrderHeader as the uSalesOrderHeader DML trigger performs on table Sales.SalesOrderHeader.
Bir tablo ekleme sonrasında doldurma ve sonra başka bir tabloda bir alanı ayarlama
iPurchaseOrderDetail ve uPurchaseOrderHeader dml Tetikleyicileri
Ne zaman veri eklendiğinde PurchaseOrderDetail tablosu, DML tetikleyicisi iPurchaseOrderDetail eklenen verilerin bir bölümü ekler Production.TransactionHistory de tablo.Birden çok satır öğelerinin çünkü PurchaseOrderDetail bir satınalma siparişini oluşturan PurchaseOrderHeader tablo, Subtotal alana PurchaseOrderHeader gerekir güncelleştirilmesi INSERT oluştuğunda PurchaseOrderDetail.iPurchaseOrderDetail Aggregates tetiklemek LineTotal alan PurchaseOrderDetail belirli bir satış siparişi ve kümeleri için Subtotal alanı PurchaseOrderHeader ile bu toplama.
DML tetikleyicisi bir güncelleştirme üzerinde gerçekleştirdiğinde Not Purchasing.PurchaseOrderHeader, bu eylem olur uPurchaseOrderHeader sayfasında bulunan güncelleştirme tetikleyici Purchasing.PurchaseOrderHeader Tablo için Ateş.Diğer Tetikleyiciler ateşlenmesine neden tetikleyiciler hakkında daha fazla bilgi için bkz: İç içe Tetikleyicileri kullanma.
DML tetikleyicisi uPurchaseOrderDetail için aynı eylemleri gerçekleştirir TransactionHistory ve PurchaseOrderHeader tablos olarak iPurchaseOrderDetail, ancak bunları yapar, PurchaseOrderDetail tablo , onu bir ekleme aldığında yerine güncelleştirilir.
dml Tetikleyiciler iWorkOrder ve uWorkOrder tablosundaki Production.WorkOrder için veri Ekle TransactionHistory yalnızca tablo.