Programarea DML-flops

Atunci când o aplicație ODBC se conectează la SQL Server, serverul setează automat următorii parametri de sesiune.

SET QUOTED_IDENTIFIER ON

SET TEXTSIZE 2147483647

ANSI_DEFAULTS setat pe

CURSOR_CLOSE_ON_COMMIT SET OFF

IMPLICIT_TRANSACTIONS SET OFF

Aceste opțiuni îmbunătăți aplicațiile compatibile ODBC. Deoarece aplicațiile care folosesc DB-Library, nu de obicei setat aceste opțiuni, declanșatoare ar trebui să fie testate cu setările de mai sus SET specificate în ON și OFF. Acest lucru asigură faptul că factorii declanșatori vor funcționa corect indiferent de opțiunile de un anumit compus va cere atunci când apelați pe trăgaci. Dacă este necesară de declanșare pentru o anumită valoare a unuia dintre acești parametri, instrucțiuni SET trebuie să fie efectuate la începutul trăgaci. Acesta va rămâne în vigoare numai până la finalizarea declanșare; apoi restabilește valoarea inițială.

Funcția UPDATE () vă permite să vedeți dacă o instrucțiune INSERT sau UPDATE a condus la o schimbare într-o anumită coloană într-un tabel. Se întoarce TRUE atunci când atribuirea de valori pe coloană.

Deoarece DELETE pentru a șterge de instrucțiuni nu este specifică suma licitată coloana cu valoarea IF UPDATE () nu este acceptat de această instrucțiune.

În plus, pentru informații despre care coloanele din tabel au fost schimbate folosind instrucțiunea UPDATE sau INSERT, puteți utiliza funcția COLUMNS_UPDATED. Pentru a specifica coloanele care pot fi verificate atunci când efectuează această funcție utilizează o mască de biți întreg. Pentru informații suplimentare. A se vedea CREATE TRIGGER.

A. Utilizarea propunerilor IF UPDATE () pentru a verifica datele pentru modificările

Codul următor creează un declanșator INSERT numit my_trig pentru masa my_table și controale, coloana b a fost modificată prin orice operațiuni INSERT.