Różnica między wyzwalaczem a procedurą

Autor: Laura McKinney
Data Utworzenia: 1 Kwiecień 2021
Data Aktualizacji: 13 Móc 2024
Anonim
Różnica między wyzwalaczem a procedurą - Technologia
Różnica między wyzwalaczem a procedurą - Technologia

Zawartość


Wyzwalacz i procedura są składnikiem zaawansowanego SQL. Wyzwalacz i procedura wykonują określone zadanie po ich wykonaniu. Podstawowa różnica między wyzwalaczem a procedurą polega na tym, że Cyngiel wykonuje się automatycznie po wystąpieniu zdarzenia, podczas gdy Procedura jest wykonywany, gdy jest jawnie wywołany.

Omówmy jeszcze kilka różnic między wyzwalaczem a procedurą za pomocą tabeli porównawczej pokazanej poniżej.

  1. Wykres porównania
  2. Definicja
  3. Kluczowe różnice
  4. Wniosek

Wykres porównania

Podstawa do porównaniaWyzwalaczeProcedury
Podstawowy Są one automatycznie wykonywane po wystąpieniu określonego zdarzenia.Można je wykonać w dowolnym momencie.
PowołanieWyzwalacze nie mogą być wywoływane w ramach procedury.Ale możesz wywołać procedurę wewnątrz wyzwalacza.
Parametr Nie możemy przekazać parametrów do wyzwalaczy.Możemy przekazać parametry do procedur.
PowrótTrigger nigdy nie zwraca wartości po wykonaniu.Procedura może zwrócić wartość / s przy wykonaniu.


Definicja wyzwalacza

Wyzwalacz jest jak procedura wykonywana automatycznie po wystąpieniu określonego zdarzenia. Podobnie jak w przypadku procedury wyzwalacza nie trzeba jawnie wywoływać. Wyzwalacze są tworzone w celu wykonania jakiegoś zadania w odpowiedzi na wystąpienie określonego zdarzenia.

Wyzwalacz można wywołać w odpowiedzi na polecenie DDL instrukcje (DELETE, INSERT lub UPDATE) lub DML instrukcje (DELETE, INSERT lub UPDATE) lub niektóre operacje bazy danych (SERVERERROR, LOGON, LOGOFF, STARTUP lub SHUTDOWN).

Spust składa się z trzech elementów, jak omówiono poniżej:

  • Zdarzenie: Zdarzenie to wystąpienie jakiegoś incydentu, który spowoduje wykonanie wyzwalacza. Wyzwalacz można zamówić w celu wykonania dowolnego z nich PRZED zdarzenie występuje lub może zostać nakazane wykonanie PO wykonanie zdarzenia.
  • Stan: Jest to opcjonalna część wyzwalacza. Jeśli nie wspomniano, wyzwalacz wykona się, gdy wystąpi określone zdarzenie. Jeśli warunek jest określony, sprawdzi reguły, aby ustalić, czy wyzwalacz powinien zostać wykonany.
  • Akcja: Działanie to zestaw instrukcji SQL, które będą wykonywane po uruchomieniu wyzwalacza.

Ogólna forma utworzenia wydarzenia została omówiona poniżej:


UTWÓRZ SPUST PRZED PO WARUNKI DZIAŁANIA;

Tutaj warunek jest opcjonalny.

Definicja procedur

Procedura może być traktowana jako jednostka programu, utworzona w celu wykonania jakiegoś zadania i jest przechowywana w bazie danych. Są one wywoływane przez instrukcję SQL, gdy jest to wymagane. Procedury są jak funkcje zdefiniowane przez użytkownika, które są zdefiniowane przez programistów. Procedury można wywoływać za pomocą POŁĄCZENIE lub WYKONAĆ.

Procedury są przydatne w następujących sytuacjach:

  • Jeśli procedura jest wymagana przez kilka innych aplikacji, można ją zapisać na serwerze, aby można ją było wywołać z dowolnej aplikacji. Zmniejszy to wysiłek związany z kopiowaniem procedury z jednej bazy danych do drugiej, a także poprawi modułowość oprogramowania.
  • Ponieważ procedura jest wykonywana na serwerze, zmniejszy to transfer danych, a także zmniejszy koszty komunikacji.
  • Procedury te można wykorzystać do sprawdzenia złożonych ograniczeń wykraczających poza możliwości wyzwalania.

Omówmy ogólną formę tworzenia procedury:

UTWÓRZ PROCEDURĘ () ZWRACA ;

Tutaj parametry i deklaracje lokalne są opcjonalne. Są wymienione tylko wtedy, gdy są wymagane. Poniższe stwierdzenie opisuje wywoływanie procedur.

POŁĄCZENIE () ;

  1. Podstawowa różnica między wyzwalaczem a procedurą polega na tym, że wyzwalacz jest instrukcją, która jest wywoływana automatycznie po wystąpieniu zdarzenia. Z drugiej strony procedura jest wywoływana, gdy jest to wymagane.
  2. Można zdefiniować procedurę wewnątrz wyzwalacza. Jednak wyzwalacz nigdy nie jest definiowany w procedurze, ponieważ wyzwalacz musi być wywoływany automatycznie po wystąpieniu dowolnego zdarzenia.
  3. Możemy przekazać parametry do procedur, ale nie możemy przekazać parametrów wyzwalających, ponieważ nie są przez nas wywoływane.
  4. Procedura może zwrócić wartości parametrów lub kod, ale wyzwalacz nie może.

Wniosek:

Wyzwalacze są przydatne, ale można ich uniknąć, jeśli istnieje jakaś alternatywa dla nich, ponieważ zwiększa to złożoność danych. Czasami wyzwalacze są również zastępowane przez odpowiednią procedurę.