SQL Trigger ResultSet Feil

Utløser er SQL-prosesser som er "sparket" når en bestemt data tilstand holder for en tabell. De database applikasjon programmerer lag med databaseadministrator å skrive triggere for tabeller. En trigger kan eller ikke kan returnere et resultatsett.

Hva gjør Triggers gi tilbake?

Hovedformålet med en utløser er datavalidering. Det er innleggs triggere, som utføres når en rad settes inn i tabellen. Slett og oppdatering utløser kjøre på rad sletting og felt oppdateringer. Vanligvis ville en database designer skrive en utløser som returnerer en boolsk suksess / fiasko status. Utløseren opprettholder dataintegriteten ved å sørge for ingen ugyldige verdier er i tabellen og ingen ugyldige operasjoner utføres. Imidlertid kan triggere returnere et resultatsett akkurat som alle SQL lagret prosedyre.

uventet Behavior

Triggere som returnerer et resultatsett kan føre til uforutsigbar oppførsel i programmer som ikke er utformet for å forvente data tilbake. Noen ganger, forfatteren av avtrekkeren, vanligvis databaseadministrator, kan ikke kommunisere med søknaden programmerer.

Løsning å utløse ResultSet feil

Snu SQL Server alternativet forby resultater fra triggere 'ON som følger:

sp_configure 'Vis avanserte alternativer', 1
rekon
sp_configure 'forby resultater fra triggere ", en
rekon

Dette vil fange noen ukjent trigger returnere et resultat sett og vis feilmelding.

Viktig Release Note

The 'forby resultater fra triggere' alternativet er tilgjengelig i Microsoft SQL Server 2008 R2. Det er imidlertid fjernes i senere versjoner av SQL Server.