Opis vs Wyzwalacze DDL. DMLWyzwalacze

DDL wyzwalaczy i wyzwalaczy DML są używane do różnych celów.

DMLWyzwalacze działają w instrukcji INSERT, UPDATE i DELETE i pomoc, aby wymusić reguły biznesowe i rozszerzyć integralność danych podczas modyfikacji danych w tabelach lub widokach.

Wyzwalacze DDL wykorzystywane instrukcji CREATE, ALTER, DROP i innych DDL i wykonujących operacje DDL podobnych procedur przechowywanych.Są one używane do wykonywania zadań administracyjnych i wymuszenia reguły biznesowe, które dotyczą baz danych.Dotyczą one wszystkie polecenia jednego typu bazy danych, lub serwer.

DMLwyzwalaczy i wyzwalaczy DDL są tworzone, zmodyfikowany i porzucone przy użyciu podobnych Transact-SQL składni i udostępnić inne podobne zachowanie.

Like DML triggers, DDL triggers can run managed code packaged in an assembly that was created in the Microsoft .NET Framework and uploaded in SQL Server.Aby uzyskać więcej informacji, zobacz Programowanie CLR wyzwalaczy.

Podobnie jak DML wyzwala więcej niż jeden wyzwalacz DLL mogą być tworzone na tym samym Transact-SQL instrukcja.Ponadto wyzwalacza DDL i instrukcja pożarów, że są uruchamiane w ramach tej samej transakcji.Ta transakcja można wycofać z wewnątrz wyzwalacza.Poważne błędy mogą powodować automatycznie wycofać całej transakcji.Wyzwalacze DDL, które są uruchamiane z partia i wyraźnie uwzględnić TRANSAKCJĘ ROLLBACK instrukcja spowoduje anulowanie całej partia.Aby uzyskać więcej informacji, zobacz Za pomocą DML wyzwalaczy, obejmujące przekazywanie lub wycofywanie transakcji.

Ostrzeżenie

Nie można wycofać zdarzenie ALTER DATABASE wewnątrz ciała wyzwalacz DLL.

Podobnie jak DML wyzwalaczy i wyzwalaczy DDL, które mogą być zagnieżdżane.Aby uzyskać więcej informacji, zobacz Przy użyciu wyzwalaczy zagnieżdżonych.

Projektując Wyzwalacze DDL, należy rozważyć sposób różnią się od DML wyzwalaczy w następujący sposób:

  • Wyzwalacze DDL uruchomić tylko po Transact-SQL zakończeniu instrukcja.Wyzwalacze DDL nie można używać jako zamiast wyzwalaczy.

  • Nie należy tworzyć wyzwalacze DDL dodaje się i usunięte tabele.Informacje o zdarzenie , fires wyzwalacz DLL i kolejnych zmian spowodowanych przez wyzwalacz, przechwycone za pomocą zdarzeniedanych funkcja.Aby uzyskać więcej informacji, zobacz Funkcja EVENTDATA.

Zobacz także

Koncepcje