sql >> Database >  >> RDS >> Sqlserver

Hoe stel ik SET XACT_ABORT in op ON in een SQL Server-transactie?

Normaal gesproken stel je xact_abort in als onderdeel van de hoofdtekst van de opgeslagen procedure:

CREATE PROCEDURE MyProc
AS
SET XACT_ABORT ON
BEGIN TRAN  
....

Er zijn twee "speciale" instellingen die worden onthouden uit de sessie die de procedure heeft gemaakt. Uitleg van MSDN:

Dus wanneer u een opgeslagen procedure maakt, kopieert SQL Server de optie QUOTED_IDENTIFIER van de verbinding naar de proceduredefinitie. Het doel is dat iemand anders met een andere QUOTED_IDENTIFIER-instelling toch het gedrag krijgt dat de auteur van de procedure bedoelde.

Hetzelfde geldt niet voor XACT_ABORT .



  1. Hoe kan ik een door de gebruiker gedefinieerde MySql-variabele gebruiken in een .NET MySql-opdracht?

  2. Heb ik htmlentities() of htmlspecialchars() nodig in voorbereide statements?

  3. Wat is de meest compacte manier om diffs op te slaan in een database?

  4. Tafelaccordeon met php en MySQL