J'ai 2 commandes et j'ai besoin que les deux soient exécutées correctement ou qu'aucune ne soit exécutée. Je pense donc que j'ai besoin d'une transaction, mais je ne sais pas comment l'utiliser correctement.
Quel est le problème avec le script suivant?
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
La INSERT
commande est exécutée, mais la UPDATE
commande a un problème.
Comment puis-je implémenter cela pour restaurer les deux commandes si l'une d'entre elles a une erreur d'exécution?
BEGIN TRANSACTION [Tran1]
être placé à l'intérieurTRY
? Quoi qu'il en soit - morceau de code très simple et élégant.