Triggere er SQL prosesser som " sparket " når en bestemt data tilstand holder for en tabell . De databaseprogrammet programmerer lag med databasen administrator å skrive utløser for tabeller. En trigger kan eller kan ikke returnere et resultat sett . Hva Gi Triggers Gå tilbake?
Hovedformålet med en utløser er datavalidering . Det er insert triggere, som utføres når en rad settes inn i tabellen. Slette og oppdatere 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 dataintegritet ved å sørge for ingen ugyldige verdier er i tabellen og ingen ugyldige operasjoner utføres . Imidlertid kan triggere returnere et resultat satt akkurat som alle SQL lagret prosedyre.
Oppfører seg uventet
Triggers som returnerer et resultatsett kan føre til uforutsigbar oppførsel i programmer som ikke er designet for å forvente data tilbake . Noen ganger kan forfatteren av utløseren , vanligvis database administrator, ikke kommunisere med søknaden programmerer.
Løsning å utløse ResultSet feil
Slå av SQL server alternativet ' forby resultater fra triggere ' ON som følger : en
sp_configure 'Vis avanserte alternativer ' , 1reconfiguresp_configure ' forby resultater fra triggere ", 1reconfigure
p Dette vil fange noen ukjente trigger returnerer et resultatsett og vise den aktuelle feilmeldingen.
Viktig Release Note
' forby resultater fra triggere ' alternativet er tilgjengelig i Microsoft SQL Server 2008 R2. Det er imidlertid fjernet i senere versjoner av SQL Server.