MELAKUKAN

Berlaku untuk:centang ditandai ya 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 COMMIT menghasilkan kesalahan NO_ACTIVE_TRANSACTION .
  • Jika COMMIT gagal, transaksi dibatalkan dan Anda harus secara eksplisit menjalankan ROLLBACK untuk mengatur ulang status transaksi sebelum memulai transaksi baru. Alasan COMMIT umum 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;