Praca z wyzwalaczami
Wyzwalacz jest specjalnym rodzajem procedurę przechowywaną, która jest uruchamiana po zmodyfikowaniu danych w określonej tabeli za pomocą jednej lub więcej operacji modyfikujących dane: UPDATE, INSERT lub DELETE.Specjalne wyzwalaczy, znane jako zamiast wyzwalaczy można określić zmiany widoku leżących u podstaw tabel bazowych.
Wyzwalacze mogą wysyłać kwerendy do innych tabel i może zawierać złożone instrukcje SQL.Są one przydatne przede wszystkim do wymuszania złożonych reguł biznesowych lub wymagania.Na przykład można kontrolować, czy umożliwienie nowe zamówienie ma zostać wstawiony na podstawie stanu bieżącego konta odbiorcy.
Wyzwalacze są także przydatne do wymuszania więzów integralnooci, które zachowują zdefiniowane relacje między tabelami podczas dodawania, aktualizacji lub usuwania wierszy w tych tabelach.Jednak najlepszym sposobem na wymuszenie więzów integralności jest zdefiniowanie klucza podstawowego i ograniczenia na klucz obcy w tabelach pokrewnych.Korzystając z projektanta tabel, można utworzyć relację między tabelami, aby automatycznie utworzyć ograniczenie na klucz obcy.Aby uzyskać szczegółowe informacje, zobacz Relacje między tabelami (wizualne Narzędzia bazy danych).
Wyzwalacze są przydatne w następujący sposób:
Wyzwalacze są automatyczne.Są uaktywniane natychmiast po jakiejkolwiek modyfikacji danych tabeli, takich jak ręczne wprowadzenie danych lub Akcja wykonana przez aplikację.
Wyzwalacze mogą powodować kaskadowe wprowadzanie zmian w tabelach powiązanych relacją w bazie danych.Na przykład, można napisać wyzwalacz usunięcia na title_id kolumny z titles tabeli, aby spowodować usunięcie zgodnych wierszy w innych tabelach.Wyzwalacz wykorzystuje title_id kolumny jako unikatowy klucz do wyszukiwania zgodnych wierszy w titleauthor, sales, i roysched tabele.
Wyzwalacze mogą wymuszać restrykcje bardziej złożone niż te zdefiniowane za pomocą Sprawdź ograniczenia (wizualne Narzędzia bazy danych).W przeciwieństwie do ograniczeń check Wyzwalacze mogą odwoływać się do kolumn w innych tabelach.Na przykład wyzwalacz może cofnąć aktualizacje, które usiłują zastosować rabat (przechowywany w discounts tabeli) do książek (przechowywanych w titles tabeli) z ceną mniej niż 10 zł.
Aby uzyskać więcej informacji i przykłady wyzwalaczy zobacz w dokumentacji serwera bazy danych.Jeśli używasz Microsoft SQL Server, zobacz "Tworzenie WYZWALACZA" w dokumentacji SQL Server Books Online.
W tej sekcji
Przy użyciu zamiast wyzwalaczy w widokach
Jak: Pokaż właściwości wyzwalacza