|
|
|
|
|
- Présentation
- Débuter une transaction
- Valider une transaction
- Annuler une transaction
- Reprendre une transaction
- Exemple
A partir de la version 21, il est possible de gérer des transactions en code SQL. Pour débuter une transaction, les syntaxes SQL suivantes sont utilisables : - BEGIN
- BEGIN WORK
- BEGIN TRANSACTION
- START TRANSACTION
- START TRANSACTION ISOLATION <Niveau>. Le paramètre <Niveau> peut correspondre à :
- READ UNCOMMITTED
- READ COMMITTED
- REPEATABLE READ
- SERIALIZABLE
En l'absence de niveau d'isolation fixé dans la commande SQL, le niveau d'isolation utilisé pour la transaction est celui actuellement défini.
Pour définir le niveau d'isolation, il est également possible d'utiliser la syntaxe : SET ISOLATION <Niveau> Le paramètre <Niveau> peut correspondre à : - READ UNCOMMITTED
- READ COMMITTED
- REPEATABLE READ
- SERIALIZABLE
Pour valider une transaction, les syntaxes SQL suivantes sont utilisables : - COMMIT
- COMMIT WORK
- COMMIT TRANSACTION
Les syntaxes permettant d'enchaîner une nouvelle transaction sont également disponibles : - COMMIT AND CHAIN
- COMMIT WORK AND CHAIN
- COMMIT TRANSACTION AND CHAIN
Pour annuler une transaction, les syntaxes SQL suivantes sont utilisables : - ROLLBACK
- ROLLBACK WORK
- ROLLBACK TRANSACTION
Les syntaxes permettant d'enchaîner une nouvelle transaction sont également disponibles : - ROLLBACK AND CHAIN
- ROLLBACK WORK AND CHAIN
- ROLLBACK TRANSACTION AND CHAIN
Reprendre une transaction Pour définir et et nommer un point de sauvegarde dans la transaction en cours, la syntaxe SQL suivante est utilisable : SAVEPOINT nomDuSavePoint Pour annuler les opérations effectuées durant la transaction jusqu'au point de sauvegarde, la syntaxe SQL suivante est utilisable : ROLLBACK TO SAVEPOINT nomDuSavePoint soit sdrTransactionStart est une Requête SQL = [ START TRANSACTION ]  soit sdrSavePoint est une Requête SQL = [ SAVEPOINT monPoint ]  soit sdr est une Requête SQL = [ INSERT INTO client VALUES (3, 20), (4,22) ]  soit sdrRollbackSavePoint est une Requête SQL = [ ROLLBACK TO SAVEPOINT monPoint ]  soit sdrTransactionFin est une Requête SQL = [ COMMIT TRANSACTION ]  SI PAS HExécuteRequête(sdrTransactionStart) ALORS Trace(HErreurInfo()) FIN  sdrSavePoint est une Source de Données  SI PAS HExécuteRequêteSQL(sdrSavePoint, "SAVEPOINT monPoint") ALORS Trace(HErreurInfo()) FIN  SI PAS HExécuteRequête(sdr) ALORS Trace(HErreurInfo()) FIN  sdrRollbackSavePoint est une Source de Données SI PAS HExécuteRequêteSQL(sdrRollbackSavePoint, "ROLLBACK TO SAVEPOINT monPoint") ALORS Trace(HErreurInfo()) FIN  soit sdr2 est une Requête SQL = [ INSERT INTO client VALUES (10, 120), (11,122) ]  SI PAS HExécuteRequête(sdr2) ALORS Trace(HErreurInfo()) FIN  SI PAS HExécuteRequête(sdrTransactionFin) ALORS Trace(HErreurInfo()) FIN
Documentation également disponible pour…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|