DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / Editeurs / Editeur de requêtes / SQL
  • Présentation
  • Débuter une transaction
  • Valider une transaction
  • Annuler une transaction
  • Reprendre une transaction
  • Exemple
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Présentation
A partir de la version 21, il est possible de gérer des transactions en code SQL.
Débuter une transaction
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
Valider une transaction
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
Annuler une transaction
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
Exemple
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
Version minimum requise
  • Version 21
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 25/05/2022

Signaler une erreur ou faire une suggestion | Aide en ligne locale