Bonjour à tous,

Je suis sous Oracle 11g (11.2.0.3.0) je suis à la recherche de tutos ou explications sur la gestion des COMMIT / ROLLBACK dans Oracle d'une manière générale.

Je m'explique, dans le cas d'une procédure avec blocs imbriqués comme ci-dessous :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
BEGIN -- transaction principale
 
 BEGIN -- sous-transac 1
  COMMIT;
 END;
 
 BEGIN -- sous-transac 2
  COMMIT;
 END;
 
COMMIT;
END;
Faut-il par exemple exécuter le COMMIT uniquement en fin de transaction principale, y a-t'il un intérêt à exécuter des COMMIT dans les sous-transactions et quelle est la portée des COMMIT et ROLLBACK. Par exemple un ROLLBACK en fin de transaction principale ne va t'elle pas annuler tous les COMMIT intermédiaire.

Je sais, vous allez me dire de faire le test (ce que je vais faire) mais je souhaite avoir la théorie

Merci à vous et bonne journée,