Tenemos aplicación cliente que se ejecuta en un poco de SQL Server 2005 SQL como la siguiente:Servidor SQL: ¿hay un error en las transacciones?
BEGIN TRAN;
INSERT INTO myTable (myColumns ...) VALUES (myValues ...);
INSERT INTO myTable (myColumns ...) VALUES (myValues ...);
INSERT INTO myTable (myColumns ...) VALUES (myValues ...);
COMMIT TRAN;
Se envía un comando de cadena larga.
Si una de las inserciones falla o si alguna parte del comando falla, ¿SQL Server retrotrae la transacción? Si no se revierte, ¿tengo que enviar un segundo comando para devolverlo?
Puedo dar detalles sobre la API y el idioma que estoy usando, pero creo que SQL Server debería responder de la misma manera para cualquier idioma.
http://stackoverflow.com/questions/1150032/what-is-the-benefit-of-using-set- xact-abort-on-a-stored-procedure – zloctb