Tengo 2 comandos y necesito que ambos se ejecuten correctamente o ninguno de ellos se ejecute. Así que creo que necesito una transacción, pero no sé cómo usarla correctamente.
¿Cuál es el problema con el siguiente script?
BEGIN TRANSACTION [Tran1]
INSERT INTO [Test].[dbo].[T1]
([Title], [AVG])
VALUES ('Tidd130', 130), ('Tidd230', 230)
UPDATE [Test].[dbo].[T1]
SET [Title] = N'az2' ,[AVG] = 1
WHERE [dbo].[T1].[Title] = N'az'
COMMIT TRANSACTION [Tran1]
GO
El INSERT
comando se ejecuta, pero el UPDATE
comando tiene un problema.
¿Cómo puedo implementar esto para revertir ambos comandos si alguno de ellos tiene un error en la ejecución?
BEGIN TRANSACTION [Tran1]
debe colocar dentroTRY
? De todos modos, una pieza de código muy simple y elegante.