Eu tenho 2 comandos e preciso que ambos sejam executados corretamente ou nenhum deles seja executado. Acho que preciso de uma transação, mas não sei como usá-la corretamente.
Qual é o problema com o seguinte 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
O INSERT
comando é executado, mas o UPDATE
comando tem um problema.
Como posso implementar isso para reverter os dois comandos, se algum deles tiver um erro na execução?
BEGIN TRANSACTION [Tran1]
ser colocado dentroTRY
? Enfim - código muito simples e elegante.