Ho 2 comandi e ho bisogno che entrambi siano eseguiti correttamente o nessuno di essi sia eseguito. Quindi penso di aver bisogno di una transazione, ma non so come usarla correttamente.
Qual è il problema con il seguente 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
Il INSERT
comando viene eseguito, ma il UPDATE
comando ha un problema.
Come posso implementarlo per ripristinare entrambi i comandi se qualcuno di loro ha un errore nell'esecuzione?
BEGIN TRANSACTION [Tran1]
essere inserito all'internoTRY
? Comunque - codice molto semplice ed elegante.