Wyzwalacze w porównaniu z ograniczeniami
Ograniczenia i DML wyzwala każdego mają świadczeń, które były użyteczne w sytuacjach szczególnych.Podstawową zaletą DML wyzwalaczy jest, że mogą one zawierać złożone przetwarzanie logiki, która używa Transact-SQL kodu.Dlatego DML wyzwalaczy może obsługiwać wszystkich funkcji ograniczeń; Jednak wyzwalacze LŚD nie zawsze są najlepszą metoda dla danej funkcji.
Jednostka integralności zawsze powinny być wprowadzone po najniższych poziom przez indeksy, które są częścią klucza podstawowego i unikatowe ograniczenia lub są tworzone niezależnie od ograniczeń.Integralność domeny powinny być wprowadzone za pomocą ograniczeń CHECK i więzów integralności (RI) ma być wymuszana przez ograniczenia klucza OBCEGO, przy założeniu, że ich cechy odpowiadają potrzebom funkcjonalności aplikacji.
Wyzwalacze DML są najbardziej przydatne funkcje obsługiwane przez ograniczenia nie odpowiadają potrzebom funkcjonalności aplikacji.Na przykład:
Ograniczenia na klucz OBCY można sprawdzić wartość kolumna tylko z dokładne dopasowanie wartości w innej kolumnie, chyba że klauzula odniesienia definiuje kaskadowych Akcja referencyjna.
Ograniczenia mogą komunikować się o błędach tylko za pośrednictwem ustandaryzowany system komunikatów o błędzie.Jeśli aplikacja wymaga lub można korzystać z niestandardowych komunikatów i bardziej złożonych obsługa błędów, należy użyć wyzwalacza.
DMLWyzwalacze mogą powodować kaskadowe zmiany w tabelach powiązanych relacją w bazie danych; Jednakże te zmiany można efektywniej wykonywane poprzez kaskadowych ograniczenia integralność referencyjnej.
DMLWyzwalacze mogą uniemożliwić lub wycofać zmiany, które naruszają więzy integralność, a tym samym anulowanie modyfikacji danych próby.Takie wyzwalacz może zaczną obowiązywać po zmianie klucz obcy i nowa wartość jest niezgodna z jej klucz podstawowy.Jednakże ograniczenia klucza OBCEGO są zwykle używane do tego celu.
Jeśli w tabela wyzwalacz istnieją ograniczenia, są sprawdzane po wykonaniu wyzwalacza INSTEAD OF, ale przed po wykonywania wyzwalacza.Ograniczenia są naruszone, akcje wyzwalacza INSTEAD OF są przywracane, a po wyzwalacz nie jest wykonywana.