SQL Trigger sind Prozesse, die " gefeuert" werden , wenn eine bestimmte Bedingung erfüllt ist Daten für eine Tabelle . Die Datenbank-Anwendung Programmierer Teams mit dem Datenbank-Administrator zu schreiben Trigger für Tabellen . Ein Trigger kann oder auch nicht eine Ergebnismenge zurückgeben . Was tun Trigger Zurück Give ?
Der Hauptzweck eines Triggers ist Datenvalidierung. Es gibt INSERT-Trigger , die, wenn eine Zeile in die Tabelle eingefügt wird ausgeführt . Löschen und aktualisieren löst ausführen auf Zeile Löschen und Feld -Updates. Normalerweise würde ein Datenbank-Designer einen Trigger schreiben , die einen booleschen Erfolg /Misserfolg Status zurückgibt. Der Trigger hält die Integrität der Daten , indem sichergestellt wird keine ungültigen Werte sind in der Tabelle und keine ungültigen Operationen durchgeführt werden . Allerdings kann Auslöser Ergebnis zurück gesetzt wie jede gespeicherte SQL-Prozedur .
Unerwartetes Verhalten
Trigger, die eine Ergebnismenge zurückgeben kann unvorhersehbares Verhalten in Anwendungen, die nicht dazu führen, entwickelt, um Daten zurück erwartet. Manchmal kann der Autor der Auslöser , in der Regel der Datenbankadministrator , nicht mit der Anwendung Programmierer kommunizieren.
Lösung, um Fehler Resultset
auslösen Drehen Sie den SQL Server Option ' verbieten Ergebnisse von Triggern ' ON wie folgt:
sp_configure 'show advanced options' , 1reconfiguresp_configure ' verbieten Ergebnisse von Trigger ' , 1reconfigure
Diese fangen alle unbekannten Auslöser eine Ergebnismenge zurückgibt und zeigt die entsprechende Fehlermeldung .
Wichtige Release Note
die ' verbieten Ergebnisse von Trigger "-Option verfügbar ist in Microsoft SQL Server 2008 R2. Allerdings ist es in den neueren Versionen von SQL Server entfernt .