Crearea declanșatoare - studopediya

Trigger - este un tip special de procedură stocată, care se execută în mod automat atunci când efectuează anumite acțiuni cu datele din tabel. Fiecare flip-flop este legat de o anumită masă. Toate modificările făcute de date de declanșare sunt considerate ca fiind o singură tranzacție care este derulată înapoi atunci când o eroare sau date de corupție, prin urmare, modificările nu vor fi permise.







Există trei tipuri de declanșatoare, în funcție de echipele la care răspund:

1) declanșează pentru a insera. Rulați atunci când încercați să introduceți date folosind comanda Insert.

2) declanșează actualizarea. Rulați atunci când încercați să schimbați datele folosind comanda Actualizare.

3) declanșează îndepărtarea. Rulați atunci când încercați să ștergeți datele cu comanda Delete.

Pentru un singur tabel este permis să creeze mai multe declanșatoare similare. Declansatoarele pot fi utilizate, de exemplu, pentru a crea valori implicite complexe pentru integritatea referențială non-standard, menținând un mijloc convențional Transact SQL este imposibilă.

Declanșatoare sunt adesea folosite pentru a efectua modificări în cascadă în mai multe tabele aferente. Domeniul de aplicare a declanșatori nu se limitează la un cadru strict definit. La crearea acestora ar trebui să fie ghidate de cerințele de performanță și fluxul de lucru gradul de utilizare. Aceasta ar trebui să evite utilizarea de declanșatoare, în cazul în care aceste etape aceleași pot fi implementate folosind o procedură stocată sau comenzi convenționale Transact SQL. Utilizarea declanșatori nedorite, de asemenea, pentru motivul că acestea dețin de blocare până când declanșatorul este completă, de restricționare un apel la resursele altor utilizatori. Următoarea comandă Transact SQL utilizat pentru a crea declanșator:







CREATE TRIGGER TRIGGER_NAME

[NU REPLICARE]

A doua versiune a acestei comenzi:

CREATE TRIGGER TRIGGER_NAME

[NU REPLICARE]

Luați în considerare lucrările prima opțiune Creați comenzi de declanșare de lucru.

TRIGGER_NAME - setează numele de declanșare prin care acesta va fi recunoscut procedurile memorate și comenzile Transact SQL. Numele de declanșare trebuie să fie unic în cadrul bazei de date.

TABEL - numele tabelului bazei de date la care este atașată pe trăgaci.

CU CRIPTARE - atunci când specificați această opțiune, serverul criptează codul de declanșare.

[DELETE] [,] [INSERT] [,] [UPDATE] - această structură determină dacă mașinile vor reacționa la un declanșator. Când creați un declanșator trebuie să fie specificate cel puțin unul dintre aceste cuvinte cheie, crearea unui declanșator poate fi receptiv la două sau trei echipe.

CU ADAUGARE - o indicație a acestui cuvânt cheie este necesară pentru compatibilitatea cu versiunile anterioare ale SQL-server.

NU replicarii - împiedică pe trăgaci atunci când modificarea tabelelor cu replicare.

sql_statement - definește un set de comenzi care urmează să fie executate atunci când startul de declanșare.

Luați în considerare utilizarea a doua metodă:

IF UPDATE (coloana) - acest parametru pentru a efectua un flip-flop în modificarea unui anumit coloană de tabel.

ȘI / SAU UPDATE (coloana) - utilizarea la fel ca parametrul anterior, dacă este necesar efectuarea unui declanșator de pornire în modificarea mai multor coloane. Argumentul specifică numele coloanei a coloanei, cu modificările care vor fi factorul declanșator la foc. Cuvântului cheie și instruiește începe de declanșare numai dacă ambele coloane au fost modificate prezentate în acest lucru și în proiectarea anterioară. Atunci când se utilizează un cuvânt cheie sau de declanșare va fi executat atunci când apar schimbări în oricare dintre coloanele. Posibilitatea de a utiliza mai multe modele SI / SAU UPDATE (coloana).

Pentru a schimba pe trăgaci, utilizați comanda ALTER TRIGGER:

ALTER TRIGGER TRIGGER_NAME

[NU REPLICARE]

Înainte de a executa ALTER TRIGGER ar trebui să verifice existența trăgaciului în tabelul de masă.

Pentru a elimina o picătură de declanșare este utilizat pentru comanda TRIGGER:

DROP TRIGGER [..n]

Singurul argument indică numele Declanșatorul. Cu o singură comandă DROP TRIGGER, aveți posibilitatea să ștergeți mai multe declanșatori.