Udostępnij za pośrednictwem


Wyzwalacze DML AdventureWorks przykładowej bazy danych

W tym temacie opisano kilka przykładów wyzwalacze DML, które są uwzględnione w AdventureWorks Przykładowa baza danych. Te wyzwalacze DML są tak zaprojektowane, aby wymusić reguły biznesowe Adventure Works Cycles i pomóc w ochronie integralność danych.

Aby wyświetlić tekst każdego wyzwalacza w programie SQL Server Management Studio

  1. W Eksploratorze obiektów, zlokalizuj w tabela, na którym jest zdefiniowana wyzwalacz i rozwiń Wyzwalaczefolder .

  2. Kliknij prawym przyciskiem myszy wyzwalacz, a następnie kliknij przycisk Skrypt wyzwalacz jako.

Ustawienie pole po ich aktualizacji

uSalesOrderHeader wyzwalacz DML

W tabela Sales.SalesOrderHeader zawiera RevisionNumber kolumna, aby odzwierciedlać liczbę razy danego wiersza, z wyjątkiem Status pole, które zostały zaktualizowane. Wyzwalacz DML uSalesOrderHeader zwiększa RevisionNumber pole za pomocą jednego lub zestawy jeden, jeśli to jest wartość null, po ich aktualizacji.

The uPurchaseOrderHeader wyzwalacz DML performs the same akcja to tabela Purchasing.PurchaseOrderHeader as the uSalesOrderHeader wyzwalacz DML performs on tabela Sales.SalesOrderHeader.

Wypełnianie tabela po Wstaw, a następnie ustawienie pole w innej tabela

Wyzwalacze DML iPurchaseOrderDetail i uPurchaseOrderHeader

Po wstawieniu danych do PurchaseOrderDetail Tabela wyzwalacz DML iPurchaseOrderDetail Wstawia część danych wstawionych do Production.TransactionHistory również tabeli. Ponieważ wiele linii elementy w PurchaseOrderDetail składają się z jednego zamówienia w PurchaseOrderHeader Tabela, Subtotal pole w PurchaseOrderHeader należy zaktualizować wstawiania występuje w PurchaseOrderDetailTe iPurchaseOrderDetail wywoływany zagregowanych LineTotal pole PurchaseOrderDetail dla określonego zamówienia sprzedaży i zestawów Subtotal pole PurchaseOrderHeader z tą agregacja.

Uwaga po wyzwalacz DML wykonuje aktualizację Purchasing.PurchaseOrderHeader, ta akcja powoduje, że uPurchaseOrderHeader Aktualizacja wyzwalacz, który znajduje się na Purchasing.PurchaseOrderHeader Tabela uruchomienie. Aby uzyskać więcej informacji na temat wyzwalaczy, które powodują innych wyzwalacze ognia zobacz Za pomocą wyzwalaczy zagnieżdżone.

Wyzwalacz DML uPurchaseOrderDetail wykonuje te same działania, które TransactionHistory and PurchaseOrderHeader tabele iPurchaseOrderDetail, ale ich wykonuje, gdy PurchaseOrderDetail tabela jest aktualizowana, zamiast odbiera wstawiania.

Wyzwalacze DML iWorkOrder and uWorkOrder on table Production.WorkOrder Wstawianie danych TransactionHistory tylko tabela.

See Also

Concepts