Udostępnij za pośrednictwem


Opis DML wyzwalaczy

Microsoft SQL Server provides two primary mechanisms for enforcing business rules and data integrity: ograniczenia i wyzwalaczy.A trigger is a special type of stored procedure that automatically takes effect when a language event executes.SQL Server includes three general types of triggers: DMLwyzwalacze, DDL wyzwalaczy i wyzwalaczy logowania.

Wyzwalacze DDL są wywoływane, gdy zdarzenie (DDL) języka definicja danych odbywa się na serwerze lub bazy danych.Opisano szczegółowo w Wyzwalacze DDL.Wyzwalacze logowania ognia procedur przechowywanych w odpowiedzi na zdarzenie logowania.To zdarzenie jest wywoływane, gdy sesja użytkownika jest ustalana z wystąpienie z SQL Server.Aby uzyskać więcej informacji, zobacz Wyzwalacze logowania.

Wyzwalacze DML są wywoływana, gdy język manipulacji danych (DML) zdarzenie ma miejsce w bazie danych.DMLzdarzenia zawierają instrukcji INSERT, UPDATE lub DELETE, które modyfikowanie danych w określonej tabela lub widoku.A wyzwalacz DML można wysyłać kwerendy do innych tabel i może zawierać złożone Transact-SQL instrukcji.Wyzwalacz oraz instrukcja pożarów, że są traktowane jako jedną transakcję można wycofać z wewnątrz wyzwalacz.Po wykryciu poważny błąd (na przykład braku miejsca na dysku), cała transakcja automatycznie wycofuje.

Wyzwalacze DML są przydatne w następujący sposób:

  • One kaskadowo zmiany w tabelach powiązanych relacją w bazie danych; Jednakże zmiany te mogą być wykonywane w bardziej skuteczny sposób wykorzystując kaskadowych ograniczenia integralność referencyjnej.

  • One czuwać złośliwe lub niepoprawne operacji INSERT, UPDATE i DELETE i wymuszenia innych ograniczeń, które są bardziej złożone niż te zdefiniowane za pomocą ograniczeń CHECK.

    W przeciwieństwie do ograniczeń CHECK DML Wyzwalacze mogą odwoływać się do kolumn w innych tabelach.Na przykład wyzwalacz może być wybierz z innej tabela porównywania danych wstawione lub zaktualizowane i wykonywanie dodatkowych czynności, takich jak zmodyfikować dane lub wyświetlić komunikat Błąd zdefiniowany przez użytkownika.

  • Mogą Państwo tabela oceny, przed i po modyfikacji danych i podjęcia działań opartych na tę różnicę.

  • Wiele DML wyzwalaczy tego samego typu (INSERT, UPDATE lub DELETE) tabela umożliwiają wielu, różne akcje podejmowane w odpowiedzi na tej samej instrukcja modyfikacji.