SQL Trigger ResultSet Error

Triggers zijn SQL processen die "ontslagen" wanneer een bepaalde data voorwaarde geldt voor een tafel. De database applicatie programmeur teams met de databasebeheerder om triggers voor tafels te schrijven. Een trigger kan wel of niet een resultaat set terug te keren.

What Do Triggers Give Back?

Het belangrijkste doel van een trigger is data validatie. Er zijn insert triggers, die worden uitgevoerd wanneer een rij in de tabel wordt ingevoegd. Verwijderen en updaten triggers te voeren op rij schrappen en in het veld updates. Normaal gesproken zou een database-ontwerper een trigger die een Booleaanse succes / falen-status terug te schrijven. De trigger handhaaft de integriteit van de gegevens door te zorgen dat er geen ongeldige waarden zijn in de tabel en er geen ongeldige bewerkingen worden uitgevoerd. Echter, triggers een resultaat ligt, net als elke SQL opgeslagen procedure terug te keren.

onverwacht gedrag

Triggers die een resultaat set terug kan onvoorspelbaar gedrag veroorzaken in toepassingen die niet zijn ontworpen om terug te verwachten data. Soms is de auteur van de trigger, meestal de database administrator, kan niet communiceren met de applicatie-programmeur.

Oplossing Om ResultSet Fouten Trigger

Draai de SQL Server-optie 'niet toe te staan ​​de resultaten van triggers' ON als volgt:

sp_configure 'Toon geavanceerde opties', 1
herconfigureren
sp_configure 'niet toe te staan ​​de resultaten van triggers', 1
herconfigureren

Dit zal geen onbekende trekker terugsturen van een resultaat set te vangen en de juiste foutmelding.

Belangrijke Versie-informatie

De 'niet toe te staan ​​de resultaten van triggers' optie is beschikbaar in Microsoft SQL Server 2008 R2. Echter wordt deze verwijderd in de latere versies van SQL Server.