Nous avons une application client qui exécute du SQL sur un SQL Server 2005, comme suit:
BEGIN TRAN;
INSERT INTO myTable (myColumns ...) VALUES (myValues ...);
INSERT INTO myTable (myColumns ...) VALUES (myValues ...);
INSERT INTO myTable (myColumns ...) VALUES (myValues ...);
COMMIT TRAN;
Il est envoyé par une commande de chaîne longue.
Si l'une des insertions échoue ou si une partie de la commande échoue, SQL Server annule-t-il la transaction? S'il n'effectue pas de restauration, dois-je envoyer une deuxième commande pour l'annuler?
Je peux donner des détails sur l'API et la langue que j'utilise, mais je pense que SQL Server devrait répondre de la même manière pour n'importe quelle langue.