Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à :
Databricks SQL
Valide la transaction interactive actuelle, rendant permanentes toutes les modifications apportées aux tables modifiées. Pour connaître les exigences et les modèles d’utilisation pour les transactions interactives, consultez Transactions interactives.
Syntaxe
COMMIT [ TRANSACTION | WORK ]
Paramètres
Cette instruction n’a aucun paramètre.
Remarques
- S’il n’existe aucune transaction active, l’exécution
COMMITentraîne une erreur NO_ACTIVE_TRANSACTION . - En
COMMITcas d’échec, la transaction est abandonnée et vous devez exécuterROLLBACKexplicitement pour réinitialiser l’état de la transaction avant de commencer une nouvelle transaction. Les causes courantes desCOMMITdéfaillances incluent des conflits d'écriture avec d'autres transactions concurrentes. - Pour exécuter cette instruction, vous devez disposer d’une transaction active et d’autorisations appropriées sur tous les objets lus ou modifiés dans la transaction.
Exemples
Les exemples suivants montrent comment valider des transactions interactives.
Transaction de base
Exécutez chaque instruction séparément.
BEGIN TRANSACTION;
-- Insert a new record
INSERT INTO my_table VALUES (1, 'test');
-- Update records in another table
UPDATE another_table
SET value = 'updated'
WHERE id = 5;
-- Commit all changes in both tables atomically
COMMIT TRANSACTION;
Lecture de ses propres écritures
Exécutez chaque instruction séparément.
BEGIN TRANSACTION;
-- Insert new data
INSERT INTO customers VALUES (101, 'New Customer');
-- Update the newly inserted data
UPDATE customers SET name = 'Updated Customer Name' WHERE id = 101;
-- Query sees the updated value within the transaction
SELECT name FROM customers WHERE id = 101;
-- Returns 'Updated Customer Name'
-- Commit makes changes visible to other transactions
COMMIT;
Gérer l’échec de validation
En cas d’échec de COMMIT en raison de conflits ou d’autres erreurs, vous devez effectuer un retour en arrière explicite. Exécutez chaque instruction séparément.
BEGIN TRANSACTION;
-- Make changes
UPDATE accounts SET balance = balance - 100 WHERE id = 1;
-- Attempt to commit
COMMIT;
-- If COMMIT fails (e.g., due to write conflict),
-- the transaction is aborted
-- You must explicitly roll back before starting a new transaction
ROLLBACK;
Articles connexes
- BEGIN TRANSACTION (transactions interactives) : commencer une transaction interactive
- ROLLBACK : restaurer une transaction interactive et ignorer toutes les modifications
- Instruction composée ATOMIC (transactions non interactives) : exécutez plusieurs instructions SQL en tant que transaction atomique unique avec validation et restauration automatiques
- Transactions : vue d’ensemble de la prise en charge des transactions, des exigences et des limitations
- Modes de transaction : modèles détaillés et exemples pour les transactions non interactives et interactives