Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:
Databricks SQL
Genomför den aktuella interaktiva transaktionen och gör alla ändringar i alla ändrade tabeller permanenta. Krav och användningsmönster för interaktiva transaktioner finns i Interaktiva transaktioner.
Syntax
COMMIT [ TRANSACTION | WORK ]
Parameters
Den här uttalandet har inga parametrar.
Notes
- Om det inte finns någon aktiv transaktion, resulterar körning av
COMMITi ett NO_ACTIVE_TRANSACTION-fel. - Om
COMMITdet misslyckas avbryts transaktionen och du måste uttryckligen köraROLLBACKför att återställa transaktionstillståndet innan du påbörjar en ny transaktion. Vanliga orsaker tillCOMMITfel är skrivkonflikter med andra samtidiga transaktioner. - Om du vill köra den här instruktionen måste du ha en aktiv transaktion och lämpliga behörigheter för alla objekt som lästs eller ändrats i transaktionen.
Exempel
Följande exempel visar hur du genomför interaktiva transaktioner.
Grundläggande transaktion
Kör varje instruktion separat.
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;
Läs-dina-egna-skrivningar
Kör varje instruktion separat.
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;
Hantera incheckningsfel
Om COMMIT misslyckas på grund av konflikter eller andra fel måste du uttryckligen rulla tillbaka. Kör varje instruktion separat.
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;
Relaterade artiklar
- BEGIN TRANSACTION (interaktiva transaktioner): Starta en interaktiv transaktion
- ÅTERSTÄLLNING: Återställ en interaktiv transaktion och ignorera alla ändringar
- ATOMIC-sammansatt instruktion (icke-interaktiva transaktioner): Kör flera SQL-instruktioner som en enda atomisk transaktion med automatisk incheckning och återställning
- Transaktioner: Översikt över transaktionsstöd, krav och begränsningar
- Transaktionslägen: Detaljerade mönster och exempel för icke-interaktiva och interaktiva transaktioner