Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk:
Databricks SQL
Menerapkan transaksi interaktif saat ini, membuat semua perubahan di semua tabel yang dimodifikasi menjadi permanen. Untuk persyaratan dan pola penggunaan untuk transaksi interaktif, lihat Transaksi interaktif.
Sintaksis
COMMIT [ TRANSACTION | WORK ]
Parameter-parameternya
Pernyataan ini tidak memiliki parameter.
Catatan
- Jika tidak ada transaksi aktif, menjalankan
COMMITmenghasilkan kesalahan NO_ACTIVE_TRANSACTION . - Jika
COMMITgagal, transaksi dibatalkan dan Anda harus secara eksplisit menjalankanROLLBACKuntuk mengatur ulang status transaksi sebelum memulai transaksi baru. AlasanCOMMITumum kegagalan termasuk perbenturan tulis dengan transaksi yang terjadi secara bersamaan lainnya. - Untuk menjalankan pernyataan ini, Anda harus memiliki transaksi aktif dan izin yang sesuai pada semua objek yang dibaca atau dimodifikasi dalam transaksi.
Examples
Contoh berikut menunjukkan cara melakukan transaksi interaktif.
Transaksi dasar
Jalankan setiap pernyataan secara terpisah.
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;
Baca-tulis-anda-sendiri
Jalankan setiap pernyataan secara terpisah.
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;
Menangani kegagalan penerapan
Jika COMMIT gagal karena konflik atau kesalahan lainnya, Anda harus secara tegas mengembalikan. Jalankan setiap pernyataan secara terpisah.
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;
Artikel terkait
- BEGIN TRANSACTION (transaksi interaktif): Mulai transaksi interaktif
- ROLLBACK: Mengembalikan transaksi interaktif dan membuang semua perubahan
- Pernyataan senyawa ATOMIC (transaksi non-interaktif): Jalankan beberapa pernyataan SQL sebagai transaksi atom tunggal dengan penerapan dan pembatalan otomatis
- Transaksi: Gambaran umum dukungan transaksi, persyaratan, dan batasan
- Mode transaksi: Pola dan contoh terperinci untuk transaksi non-interaktif dan interaktif