Amazon Redshift tidak akan lagi mendukung penggunaan Python UDF setelah 30 Juni 2026. Kami akan mulai menegakkannya secara bertahap. Untuk informasi lebih lanjut tentang detail opsi akhir masa pakai dan migrasi Python, lihat posting blog
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
MULAI
Memulai transaksi. Identik dengan MULAI TRANSAKSI.
Transaksi adalah unit kerja logis tunggal, apakah itu terdiri dari satu perintah atau beberapa perintah. Secara umum, semua perintah dalam transaksi berjalan pada snapshot dari database yang waktu mulanya ditentukan oleh nilai yang ditetapkan untuk parameter konfigurasi transaction_snapshot_begin sistem.
Secara default, operasi Amazon Redshift individual (kueri, pernyataan DDL, beban) secara otomatis diikat ke database. Jika Anda ingin menangguhkan komit untuk operasi sampai pekerjaan berikutnya selesai, Anda perlu membuka transaksi dengan pernyataan BEGIN, lalu jalankan perintah yang diperlukan, lalu tutup transaksi dengan AKHIR pernyataan COMMIT atau. Jika perlu, Anda dapat menggunakan ROLLBACK pernyataan untuk menghentikan transaksi yang sedang berlangsung. Pengecualian untuk perilaku ini adalah MEMOTONG perintah, yang melakukan transaksi di mana ia dijalankan dan tidak dapat diputar kembali.
Sintaksis
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
- BEKERJA
-
Kata kunci opsional.
- TRANSAKSI
-
Kata kunci opsional; KERJA dan TRANSAKSI adalah sinonim.
- TINGKAT ISOLASI DAPAT DISERIALKAN
-
Isolasi yang dapat diserialkan didukung secara default, sehingga perilaku transaksi sama apakah sintaks ini disertakan dalam pernyataan atau tidak. Untuk informasi selengkapnya, lihat Mengelola operasi penulisan bersamaan. Tidak ada tingkat isolasi lain yang didukung.
catatan
Standar SQL mendefinisikan empat tingkat isolasi transaksi untuk mencegah pembacaan kotor (di mana transaksi membaca data yang ditulis oleh transaksi tidak berkomitmen 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 pembacaan phantom (di mana transaksi menjalankan kembali kueri, mengembalikan satu set baris yang memenuhi kondisi pencarian, dan kemudian menemukan bahwa kumpulan baris telah berubah karena dari transaksi lain yang baru-baru ini dilakukan):
-
Baca tidak terikat: Pembacaan kotor, pembacaan yang tidak dapat diulang, dan pembacaan hantu dimungkinkan.
-
Baca berkomitmen: Pembacaan yang tidak dapat diulang dan pembacaan hantu dimungkinkan.
-
Pembacaan berulang: Pembacaan hantu dimungkinkan.
-
Serialisasi: 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 dapat diserialkan.
-
- BACA TULIS
-
Memberikan izin baca dan tulis transaksi.
- BACA SAJA
-
Memberikan izin baca-saja transaksi.
Contoh
Contoh berikut memulai blok transaksi yang dapat diserialisasi:
begin;
Contoh berikut memulai blok transaksi dengan tingkat isolasi yang dapat diserialisasi dan izin baca dan tulis:
begin read write;