I trigger sono i processi di SQL che vengono " sparati " quando una particolare condizione dei dati in possesso di un tavolo. L'applicazione squadre programmatore di database con l'amministratore del database di scrivere trigger per le tabelle . Un trigger può o non può restituire un insieme di risultati . Che cosa Trigger Give Back ?
Lo scopo principale di un trigger è la convalida dei dati . Ci sono trigger di inserimento , che eseguono quando una riga viene inserita nella tabella . Eliminare e aggiornare innesca esecuzione nel braccio della cancellazione e aggiornamenti dei campi . Di solito, un progettista di database potrebbe scrivere un trigger che restituisce un successo /fallimento di stato booleano . Il trigger mantiene l'integrità dei dati assicurando valori non validi non sono nella tabella e non vengono eseguite operazioni non valide . Tuttavia , i trigger possono restituire un set come qualsiasi stored procedure di SQL risultato .
Comportamento inatteso
trigger che restituisce un set di risultati può causare comportamenti imprevedibili in applicazioni che non sono progettato per prevedere i dati indietro . A volte , l'autore del grilletto , di solito l'amministratore del database , non può comunicare con il programmatore di applicazioni .
Soluzione di innescare errori Resultset
Girare il SQL opzione del server ' non consentire risultati da trigger ' ON come segue : 'show advanced options '
sp_configure , 1reconfiguresp_configure ' non consentire risultati da trigger ' , 1reconfigure
prenderà alcun innesco sconosciuto restituire un set di risultati e visualizzare il messaggio di errore appropriato .
Importante Release Note
le ' disallow results impulsi da ' opzione è disponibile in Microsoft SQL Server 2008 R2 . Tuttavia , viene rimosso nelle versioni successive di SQL Server .