Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a:
Databricks SQL
Esegue il commit della transazione interattiva corrente, apportando tutte le modifiche in tutte le tabelle modificate in modo permanente. Per i requisiti e i modelli di utilizzo per le transazioni interattive, vedere Transazioni interattive.
Sintassi
COMMIT [ TRANSACTION | WORK ]
Parametri
Questa istruzione non ha parametri.
Note
- Se non è presente alcuna transazione attiva, l'esecuzione
COMMITgenera un errore NO_ACTIVE_TRANSACTION . - In caso
COMMITdi errore, la transazione viene interrotta ed è necessario eseguireROLLBACKin modo esplicito per reimpostare lo stato della transazione prima di iniziare una nuova transazione. I motivi comuni diCOMMITfallimenti includono conflitti di scrittura con altre transazioni concorrenti. - Per eseguire questa istruzione, è necessario disporre di una transazione attiva e delle autorizzazioni appropriate per tutti gli oggetti letti o modificati all'interno della transazione.
Examples
Negli esempi seguenti viene illustrato come eseguire il commit di transazioni interattive.
Transazione di base
Eseguire ogni istruzione separatamente.
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;
Lettura-proprie-scritture
Eseguire ogni istruzione separatamente.
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;
Gestire il fallimento del commit
Se COMMIT non riesce a causa di conflitti o altri errori, è necessario eseguire il rollback in modo esplicito. Eseguire ogni comando separatamente.
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;
Articoli correlati
- BEGIN TRANSACTION (transazioni interattive): iniziare una transazione interattiva
- ROLLBACK: eseguire il rollback di una transazione interattiva ed eliminare tutte le modifiche
- Istruzione composta ATOMIC (transazioni non interattive): Esecuzione di più istruzioni SQL come una singola transazione atomica con procedura di commit e rollback automatici
- Transazioni: panoramica del supporto delle transazioni, dei requisiti e delle limitazioni
- Modalità di transazione: modelli dettagliati ed esempi per transazioni non interattive e interattive