Trigger (bază de date)

Acest termen are și alte semnificații, vezi Trigger (valori).

Trigger (. Engl de declanșare) - procedură stocată este un tip special, care nu cauzează în mod direct utilizatorul, dar din cauza acțiunii ale cărei date de execuție modificare: adăugarea de INSERT. ȘTERGE linie de îndepărtare într-un tabel predeterminat, sau schimbarea datelor UPDATE într-o anumită coloană a unui tabel predeterminat bază de date relațională. Declanșatoarele sunt folosite pentru a asigura integritatea datelor și implementarea unei logici complexe de afaceri. Declanșatorul este declanșat automat de server când încercați să modificați datele din tabelul în care este asociat. Toate modificările datelor sale sunt considerate a fi executabile în tranzacție. în care acțiunea care declanșează declanșatorul este executată. În consecință, dacă se detectează o eroare sau integritatea datelor este coruptă, această tranzacție poate fi derulată înapoi.













Moment de pornire de declanșare este determinată folosind cuvântul cheie ÎNAINTE (evenimentul declanșator începe înainte de asociat, de exemplu, pentru a adăuga o înregistrare) sau după (după eveniment). În cazul în care un eveniment declanșator este numit înainte de a putea face modificări la evenimentul de intrare modificabil (bineînțeles, cu condiția ca evenimentul - nu înregistrează nici o ștergere). Unele SGBD impun restricții asupra operatorilor care pot fi utilizate într-un declanșator (de exemplu, poate să nu i se permită să facă schimbări într-un tabel, care este „agățat“ de declanșare, și t. P.).

În plus, declanșatorii pot fi legați nu la un tabel, ci la o vizualizare (VIEW). În acest caz, cu ajutorul lor, se implementează mecanismul "vederii actualizate". În acest caz, cuvintele BEFORE și AFTER afectează secvența de declanșare, deoarece evenimentele reale (ștergeți, inserați sau actualizați) nu au loc.

Pe unele servere, declanșatoarele nu pot fi solicitate pentru fiecare înregistrare modificată, dar o singură dată pentru schimbarea tabelului. Aceste declanșatoare sunt numite tabele.

În acest caz, pentru a distinge declanșatoarele de tabele de la cele de nivel inferior, se introduc cuvinte cheie suplimentare când se descriu declanșatorii de șir. În Oracle, aceasta este expresia PENTRU FIECARE LINIE.







Articole similare

Trimiteți-le prietenilor: