BEGIN
La commande BEGIN permet de démarrer un bloc de transaction.
Utilisez la commande BEGIN pour lancer une transaction utilisateur en mode chaîné. Le système exécute toutes les commandes utilisateur après une commande BEGIN dans une transaction unique jusqu'à ce qu'il y ait une validation explicite, un retour en arrière ou une interruption de l'exécution. Le système exécute les commandes en mode chaîné plus rapidement, car le démarrage/la validation des transactions nécessite une activité importante de l'unité centrale et du disque. Le mode chaîné permet d'assurer la cohérence lorsque vous exécutez plusieurs commandes à l'intérieur d'une transaction et que vous modifiez plusieurs tables connexes.
Par défaut, Netezza Performance Server SQL exécute les transactions en mode non chaîné (également connu sous le nom d'autocommission). Le système exécute chaque déclaration de l'utilisateur dans sa propre transaction et effectue une validation implicite à la fin de la déclaration (si l'exécution a réussi, sinon le système effectue un retour en arrière).
Si la transaction est validée, Netezza Performance Server SQL s'assure que toutes les mises à jour sont effectuées ou qu'aucune ne l'est. Les transactions ont la propriété standard ACID (atomique, cohérente, isolable et durable).
Syntaxe
BEGIN [ WORK | TRANSACTION ]Entrées
| Entrée | Descriptif |
|---|---|
| TRAVAIL | Ces mots-clés sont des mots-clés facultatifs qui n'ont aucun effet. |
| TRANSACTION |
Sorties
| Sortie | Descriptif |
|---|---|
| BEGIN | La nouvelle transaction a été lancée. |
| NOTICE: BEGIN: already a transaction in progress | La transaction était déjà en cours. La transaction en cours n'est pas affectée. |
Droits
Vous n'avez pas besoin de privilèges particuliers pour lancer la commande BEGIN.
Utilisation
- Commencer une transaction d'utilisateur :
MYDB.SCH1(USER)=> BEGIN WORK;