View a markdown version of this page

MENGATUR BATASAN - Amazon Aurora DSQL

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

MENGATUR BATASAN

SET CONSTRAINTSmenetapkan perilaku pemeriksaan kendala kunci asing dalam transaksi saat ini.

Sintaksis yang didukung

SET CONSTRAINTS { ALL | name [, ...] } { DEFERRED | IMMEDIATE }

Deskripsi

SET CONSTRAINTSmenetapkan perilaku pemeriksaan kendala dalam transaksi saat ini. IMMEDIATEbatasan diperiksa di akhir setiap pernyataan. DEFERREDbatasan tidak diperiksa sampai transaksi dikomit. Setiap kendala memiliki DEFERRED mode IMMEDIATE sendiri.

Saat Anda membuat batasan, Anda menetapkannya salah satu dari tiga karakteristik:DEFERRABLE INITIALLY DEFERRED,DEFERRABLE INITIALLY IMMEDIATE, atauNOT DEFERRABLE. Kelas ketiga selaluIMMEDIATE, dan SET CONSTRAINTS perintah tidak mengubahnya. Dua kelas pertama memulai setiap transaksi dalam mode yang ditunjukkan, tetapi perilaku mereka dapat diubah dalam transaksi olehSET CONSTRAINTS.

SET CONSTRAINTSdengan daftar nama kendala mengubah mode hanya batasan tersebut. Semua batasan bernama harus dapat ditunda. SET CONSTRAINTS ALLmengubah mode semua batasan yang dapat ditunda.

Ketika SET CONSTRAINTS mengubah mode kendala dari DEFERRED keIMMEDIATE, mode baru berlaku surut. Aurora DSQL segera memeriksa setiap modifikasi data yang belum tertunda yang seharusnya ditangguhkan hingga akhir transaksi. Jika ada batasan seperti itu dilanggar, SET CONSTRAINTS perintah gagal dan tidak mengubah mode kendala.

Untuk deskripsi opsi penundaan (DEFERRABLE,,NOT DEFERRABLE,INITIALLY IMMEDIATE)INITIALLY DEFERRED, lihat Penundaan di CREATE TABLE halaman.

Kendala kunci asing saja

Di Aurora DSQL, hanya SET CONSTRAINTS berlaku untuk batasan kunci asing. Kunci utama, unikNOT NULL, dan CHECK batasan selalu diperiksa segera ketika baris dimasukkan atau dimodifikasi, bahkan saat Anda menjalankanSET CONSTRAINTS ALL DEFERRED.

Catatan

Aurora DSQL mengubah perilaku kendala hanya dalam transaksi saat ini. Untuk menggunakanSET CONSTRAINTS, jalankan di dalam blok transaksi eksplisit.

Kompatibilitas

Perintah ini sesuai dengan perilaku yang ditentukan dalam standar SQL, dengan batasan bahwa Aurora DSQL mendukung penangguhan hanya untuk batasan kunci asing.