Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro:
Databricks SQL
Potvrdí aktuální interaktivní transakci a učiní všechny změny ve všech upravených tabulkách trvalými. Informace o požadavcích a vzorech použití pro interaktivní transakce najdete v tématu Interaktivní transakce.
Syntaxe
COMMIT [ TRANSACTION | WORK ]
Parametry
Tento příkaz nemá žádné parametry.
Poznámky
- Pokud neexistuje žádná aktivní transakce, provedení
COMMITzpůsobí chybu NO_ACTIVE_TRANSACTION . - Pokud
COMMITselže, transakce je přerušena a je nutné explicitně spustitROLLBACKresetovat stav transakce před zahájením nové transakce. Mezi běžné důvody selháníCOMMITpatří zápisové konflikty s jinými souběžnými transakcemi. - Chcete-li provést tento příkaz, musíte mít aktivní transakci a příslušná oprávnění pro všechny objekty přečtené nebo změněné v rámci transakce.
Příklady
Následující příklady ukazují, jak potvrdit interaktivní transakce.
Základní transakce
Jednotlivé příkazy spusťte samostatně.
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;
Čtení vlastních zápisů
Jednotlivé příkazy spusťte samostatně.
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;
Zpracování selhání potvrzení
Pokud COMMIT selže kvůli konfliktům nebo jiným chybám, musíte explicitně provést zpětný chod. Jednotlivé příkazy spusťte samostatně.
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;
Související články
- BEGIN TRANSACTION (interaktivní transakce): Zahájení interaktivní transakce
- VRÁCENÍ: Vrácení interaktivní transakce a odstranění všech změn
- Atomic compound statement (neinteraktivní transakce):: Spuštění více příkazů SQL jako jedné atomické transakce s automatickým potvrzením a vrácením zpět
- Transakce: Přehled podpory transakcí, požadavků a omezení
- Režimy transakcí: Podrobné vzory a příklady pro neinteraktivní a interaktivní transakce