Udostępnij za pośrednictwem


Wyzwalacze, porównanie do ograniczenia

Ograniczenia i DML wyzwala każdy ma korzyści, jakie były przydatne w sytuacjach szczególnych.Główną zaletą DML wyzwalacze to mogą one zawierać złożone przetwarzanie logiki, która korzysta z Transact-SQL Kod. Dlatego wyzwalacze DML może obsługiwać wszystkich funkcji ograniczenia; jednak wyzwalacze DML nie zawsze są najlepszą metodą dla danej funkcji.

integralność obiektu powinien zawsze można wymusić na najniższym poziomie w indeksach, które są częścią ograniczenia klucz podstawowy i unikatowy lub są tworzone niezależnie od ograniczeń.integralność domena powinny być wymuszane przez ograniczeń CHECK, a powinny być wymuszane więzy integralność (RI) za pośrednictwem ograniczenia klucz obcy, przy założeniu, że funkcje ich potrzeb funkcjonalności aplikacji.

Wyzwalacze DML są najbardziej użyteczne, gdy funkcje obsługiwane przez ograniczenia nie może spełnić potrzeby funkcjonalności aplikacji.Na przykład:

  • Ograniczenia klucz obcy może sprawdzać poprawność wartość kolumna tylko w przypadku dokładne dopasowanie do wartości w innej kolumnie, chyba że klauzula materiały referencyjne definiuje kaskadowych akcja referencyjną.

  • Ograniczenia mogą komunikować się błędy tylko za pośrednictwem systemu standardowe komunikaty o błędach — informacje.Jeśli aplikacja wymaga lub mogą korzystać z niestandardowych wiadomości i bardziej złożonych obsługa błędów, należy użyć wyzwalacza.

Wyzwalacze DML może kaskadowo zmian za pomocą tabel powiązanych relacjami w bazie danych; jednak zmiany te mogą być wykonywane efektywniej za pośrednictwem kaskadowych ograniczenia integralność referencyjnej.

  • Wyzwalacze DML można uniemożliwić lub wycofania zmian, które naruszają więzy integralność, w tym samym anulowanie modyfikacji danych próby.Takie wyzwalacz może przejść w życie po zmianie klucz obcy i nowa wartość nie pasuje do jego klucz podstawowy.Jednak klucz obcy ograniczenia są zwykle używane w tym celu.

  • Jeśli istnieją ograniczenia dla tabela wyzwalacz, są one sprawdzane po wykonaniu wyzwalacza Z INSTEAD, ale przed wykonywania wyzwalacza po.Jeśli ograniczenia są naruszane, akcje wyzwalacza Z INSTEAD są przywracane, a po wyzwalacz nie jest wykonywana.