Bonjour à tous,
J'ai un problème de compréhension au niveau de l’exécution d'une transaction.
Je vous montre les deux scripts que j'ai exécuté :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 BEGIN TRANSACTION -- je commence ma transaction CREATE TABLE TEST(ID int NOT NULL) -- je créé une table DROP FROM TOTO WHERE titi = 4 -- erreur de syntaxe IF (@@error <> 0) ROLLBACK TRANSACTION ELSE COMMIT TRANSACTION -- ma table TEST n'a pas été créée.
Je ne comprends pas pourquoi dans l'exemple 1 la table n'a pas été créée alors que dans l’exemple 2 la table a bien été créée.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 BEGIN TRANSACTION -- je commence ma transaction CREATE TABLE TEST(ID int NOT NULL) -- je créé une table DELETE FROM TOTO WHERE titi = 4 -- je veux supprimer les informations d'une table qui n'existe pas IF (@@error <> 0) ROLLBACK TRANSACTION ELSE COMMIT TRANSACTION END -- la table TEST a bien été créée.
Merci
Partager