Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:
Databricks SQL
Führt einen Commit für die aktuelle interaktive Transaktion durch, wobei alle Änderungen in allen geänderten Tabellen dauerhaft vorgenommen werden. Anforderungen und Verwendungsmuster für interaktive Transaktionen finden Sie unter "Interaktive Transaktionen".
Syntax
COMMIT [ TRANSACTION | WORK ]
Parameter
Diese Anweisung hat keine Parameter.
Hinweise
- Wenn keine aktive Transaktion vorhanden ist, führt die Ausführung
COMMITzu einem NO_ACTIVE_TRANSACTION Fehler. - Wenn
COMMITfehlschlägt, wird die Transaktion abgebrochen, und Sie müssen explizitROLLBACKausführen, um den Transaktionsstatus zurückzusetzen, bevor Sie eine neue Transaktion beginnen. Häufige Ursachen fürCOMMITFehler sind Schreibkonflikte mit anderen gleichzeitigen Transaktionen. - Zum Ausführen dieser Anweisung benötigen Sie eine aktive Transaktion und entsprechende Berechtigungen für alle Objekte, die innerhalb der Transaktion gelesen oder geändert wurden.
Beispiele
Die folgenden Beispiele veranschaulichen, wie interaktive Transaktionen ausgeführt werden.
Grundlegende Transaktion
Führen Sie jede Anweisung separat aus.
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;
Lies-eigene-Schreibvorgänge
Führen Sie jede Anweisung separat aus.
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;
Umgang mit Commit-Fehlern
Wenn COMMIT aufgrund von Konflikten oder anderen Fehlern fehlschlägt, müssen Sie explizit einen Rollback durchführen. Führen Sie jede Anweisung separat aus.
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;
Verwandte Artikel
- BEGIN TRANSACTION (interaktive Transaktionen): Beginnen einer interaktiven Transaktion
- ROLLBACK: Zurücksetzen einer interaktiven Transaktion und Verwerfen aller Änderungen
- ATOMIC compound statement (nicht-interaktive Transaktionen): Führen Sie mehrere SQL-Anweisungen als eine einzige atomare Transaktion mit automatischem Commit und Rollback aus
- Transaktionen: Übersicht über Transaktionsunterstützung, Anforderungen und Einschränkungen
- Transaktionsmodi: Detaillierte Muster und Beispiele für nicht interaktive und interaktive Transaktionen