Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:
Databricks SQL
Voert de huidige interactieve transactie door, waardoor alle wijzigingen in alle gewijzigde tabellen permanent worden doorgevoerd. Zie Interactieve transacties voor vereisten en gebruikspatronen voor interactieve transacties.
Syntaxis
COMMIT [ TRANSACTION | WORK ]
Parameterwaarden
Deze uitspraak heeft geen parameters.
Aantekeningen
- Als er geen actieve transactie is, resulteert het uitvoeren
COMMITvan een NO_ACTIVE_TRANSACTION fout. - Als
COMMITdit mislukt, wordt de transactie afgebroken en moet u expliciet uitvoerenROLLBACKom de transactiestatus opnieuw in te stellen voordat u een nieuwe transactie start. Veelvoorkomende redenen voorCOMMITfouten zijn schrijfconflicten met andere gelijktijdige transacties. - Als u deze instructie wilt uitvoeren, moet u een actieve transactie en de juiste machtigingen hebben voor alle objecten die in de transactie worden gelezen of gewijzigd.
Examples
In de volgende voorbeelden ziet u hoe u interactieve transacties doorvoert.
Basistransactie
Voer elke instructie afzonderlijk uit.
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;
Lees je eigen schrijfhandelingen
Voer elke instructie afzonderlijk uit.
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;
Commit-fout afhandelen
Als COMMIT mislukt vanwege conflicten of andere fouten, moet u expliciet een rollback uitvoeren. Voer elke instructie afzonderlijk uit.
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;
Verwante artikelen
- BEGIN TRANSACTION (interactieve transacties): een interactieve transactie starten
- TERUGDRAAIEN: Een interactieve transactie terugdraaien en alle wijzigingen negeren
- ATOMIC-samengestelde instructie (niet-interactieve transacties): meerdere SQL-instructies uitvoeren als één atomische transactie met automatische doorvoer en terugdraaien
- Transacties: Overzicht van transactieondersteuning, vereisten en beperkingen
- Transactiemodi: Gedetailleerde patronen en voorbeelden voor niet-interactieve en interactieve transacties