Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
BEGIN
Memulai transaksi. Identik dengan. START TRANSACTION
Transaksi adalah unit kerja tunggal yang logis, apakah itu terdiri dari satu perintah atau beberapa perintah. Secara umum, semua perintah dalam transaksi berjalan pada snapshot database yang waktu mulai ditentukan oleh nilai yang ditetapkan untuk parameter konfigurasi transaction_snapshot_begin
sistem.
Secara default, operasi Amazon Redshift individual (kueri, DDL pernyataan, pemuatan) secara otomatis berkomitmen ke database. Jika Anda ingin menangguhkan komit untuk operasi sampai pekerjaan selanjutnya selesai, Anda perlu membuka transaksi dengan BEGIN pernyataan tersebut, lalu jalankan perintah yang diperlukan, lalu tutup transaksi dengan END pernyataan COMMIT atau. Jika perlu, Anda dapat menggunakan ROLLBACK pernyataan untuk menghentikan transaksi yang sedang berlangsung. Pengecualian untuk perilaku ini adalah TRUNCATE perintah, yang melakukan transaksi di mana ia dijalankan dan tidak dapat diputar kembali.
Sintaks
BEGIN [ WORK | TRANSACTION ] [ ISOLATION LEVEL option ] [ READ WRITE | READ ONLY ] START TRANSACTION [ ISOLATION LEVEL option ] [ READ WRITE | READ ONLY ] Where option is SERIALIZABLE | READ UNCOMMITTED | READ COMMITTED | REPEATABLE READ Note: READ UNCOMMITTED, READ COMMITTED, and REPEATABLE READ have no operational impact and map to SERIALIZABLE in Amazon Redshift. You can see database isolation levels on your cluster by querying the stv_db_isolation_level table.
Parameter
- WORK
-
Kata kunci opsional.
- TRANSACTION
-
Kata kunci opsional; WORK dan TRANSACTION merupakan sinonim.
- ISOLATION LEVEL SERIALIZABLE
-
Isolasi serializable didukung secara default, sehingga perilaku transaksi adalah sama apakah sintaks ini disertakan dalam pernyataan atau tidak. Untuk informasi selengkapnya, lihat Mengelola operasi tulis bersamaan. Tidak ada tingkat isolasi lain yang didukung.
catatan
SQLStandar mendefinisikan empat tingkat isolasi transaksi untuk mencegah pembacaan kotor (di mana transaksi membaca data yang ditulis oleh transaksi tanpa komitmen bersamaan), pembacaan yang tidak dapat diulang (di mana transaksi membaca ulang data yang dibaca sebelumnya dan menemukan bahwa data diubah oleh transaksi lain yang dilakukan sejak pembacaan awal), dan phantom membaca (di mana transaksi menjalankan kembali kueri, mengembalikan serangkaian baris yang memenuhi kondisi pencarian, dan kemudian menemukan bahwa kumpulan baris memiliki berubah karena yang lain transaksi yang baru-baru ini dilakukan):
-
Baca tanpa komitmen: Bacaan kotor, bacaan yang tidak dapat diulang, dan pembacaan hantu dimungkinkan.
-
Baca berkomitmen: Pembacaan yang tidak dapat diulang dan pembacaan hantu dimungkinkan.
-
Bacaan berulang: Pembacaan hantu dimungkinkan.
-
Serializable: Mencegah pembacaan kotor, pembacaan yang tidak dapat diulang, dan pembacaan hantu.
Meskipun Anda dapat menggunakan salah satu dari empat tingkat isolasi transaksi, Amazon Redshift memproses semua tingkat isolasi sebagai serializable.
-
- READ WRITE
-
Memberikan izin baca dan tulis transaksi.
- READ ONLY
-
Memberikan izin read-only transaksi.
Contoh
Contoh berikut memulai blok transaksi serializable:
begin;
Contoh berikut memulai blok transaksi dengan tingkat isolasi serializable dan izin baca dan tulis:
begin read write;