ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

Help / Editors / Query editor / SQL
  • Présentation
  • Débuter une transaction
  • Valider une transaction
  • Annuler une transaction
  • Reprendre une transaction
  • Exemple
WINDEV
WindowsLinuxJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac Catalyst
Others
Stored procedures
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 LEVEL <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 LEVEL <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
let sdrTransactionStart is SQL Query = 
[
START TRANSACTION
]

let sdrSavePoint is SQL Query = 
[
	SAVEPOINT monPoint
]

let sdr is SQL Query = 
[
 	INSERT INTO client
 	VALUES (3, 20), (4,22)
]

let sdrRollbackSavePoint is SQL Query = 
[
	ROLLBACK TO SAVEPOINT monPoint
]

let sdrTransactionFin is SQL Query = 
[
COMMIT TRANSACTION
]

IF NOT HExecuteQuery(sdrTransactionStart) THEN
	Trace(HErrorInfo())
END

sdrSavePoint is Data Source

IF NOT HExecuteSQLQuery(sdrSavePoint, "SAVEPOINT monPoint") THEN
	Trace(HErrorInfo())
END

IF NOT HExecuteQuery(sdr) THEN
	Trace(HErrorInfo())
END

sdrRollbackSavePoint is Data Source
IF NOT HExecuteSQLQuery(sdrRollbackSavePoint, "ROLLBACK TO SAVEPOINT monPoint") THEN
	Trace(HErrorInfo())
END

let sdr2 is SQL Query = 
[
 	INSERT INTO client
 	VALUES (10, 120), (11,122)
]

IF NOT HExecuteQuery(sdr2) THEN
	Trace(HErrorInfo())
END

IF NOT HExecuteQuery(sdrTransactionFin) THEN
	Trace(HErrorInfo())
END
Minimum version required
  • Version 21
This page is also available for…
Comments
Click [Add] to post a comment

Last update: 06/16/2025

Send a report | Local help