Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:
Databricks SQL
Zatwierdza bieżącą transakcję interaktywną, wprowadzając wszystkie zmiany we wszystkich zmodyfikowanych tabelach na stałe. Aby uzyskać wymagania i wzorce użycia dla transakcji interakcyjnych, zobacz Interakcyjne transakcje.
Składnia
COMMIT [ TRANSACTION | WORK ]
Parametry
To oświadczenie nie ma parametrów.
Notatki
- Jeśli nie ma aktywnej transakcji, wykonanie
COMMITpowoduje wystąpienie błędu NO_ACTIVE_TRANSACTION . - W przypadku niepowodzenia
COMMIT, transakcja zostanie przerwana i musisz jawnie uruchomićROLLBACK, aby zresetować stan transakcji przed rozpoczęciem nowej transakcji. Typowe przyczyny awariiCOMMITto konflikty zapisu z innymi współbieżnymi transakcjami. - Aby wykonać tę instrukcję, musisz mieć aktywną transakcję i odpowiednie uprawnienia do wszystkich obiektów odczytanych lub zmodyfikowanych w ramach transakcji.
Examples
W poniższych przykładach pokazano, jak zatwierdzać transakcje interakcyjne.
Transakcja podstawowa
Uruchom każdą instrukcję oddzielnie.
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;
Odczyt własny zapis
Uruchom każdą komendę oddzielnie.
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;
Obsługa niepowodzenia zatwierdzania
Jeśli COMMIT nie powiedzie się z powodu konfliktów lub innych błędów, należy ręcznie wycofać zmiany. Uruchom każdą instrukcję oddzielnie.
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;
Powiązane artykuły
- BEGIN TRANSACTION (transakcje interakcyjne): Rozpoczynanie interakcyjnej transakcji
- WYCOFYWANIE: Wycofywanie interakcyjnej transakcji i odrzucanie wszystkich zmian
- ATOMIC instrukcje złożone (transakcje nieinterakcyjne): Wykonaj wiele instrukcji SQL jako pojedynczą transakcję atomową z automatycznym zatwierdzaniem i wycofywaniem
- Transakcje: omówienie obsługi transakcji, wymagań i ograniczeń
- Tryby transakcji: szczegółowe wzorce i przykłady transakcji nieinterakcyjnych i interakcyjnych