Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Kunci tabel (baca) eksklusif pada Oracle 10g?

Jika Anda hanya ingin mencegah sesi lain mengubah data, Anda dapat mengeluarkan

LOCK TABLE whatever
/

Ini memblokir sesi lain dari memperbarui data tetapi kami tidak dapat memblokir orang lain untuk membacanya.

Perhatikan bahwa di Oracle penguncian tabel seperti itu jarang diperlukan, karena Oracle mengoperasikan kebijakan konsistensi baca. Artinya jika kita menjalankan query yang membutuhkan waktu lima belas menit untuk menjalankan baris terakhir yang dikembalikan akan konsisten dengan baris pertama; dengan kata lain, jika kumpulan hasil telah diurutkan dalam urutan terbalik, kita masih akan melihat baris yang sama persis.

edit

Jika Anda ingin menerapkan antrian (tanpa benar-benar menggunakan Oracle fungsi Antrian Lanjutan bawaan ) lalu SELECT ... FOR UPDATE adalah cara untuk pergi. Konstruksi ini memungkinkan satu sesi untuk memilih dan mengunci satu atau lebih baris. Sesi lain dapat memperbarui baris yang tidak terkunci. Namun, menerapkan antrian asli cukup rumit, kecuali jika Anda menggunakan 11g. Hanya dalam versi terbaru Oracle telah mendukung SKIP LOCKED ayat. Cari tahu lebih lanjut .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tabel atau tampilan Oracle DB tidak ada

  2. Bagaimana cara melakukan Oracle TNSPING dengan java?

  3. Apa sebenarnya yang dilakukan tanda kutip di sekitar nama tabel?

  4. Cara menggunakan Oracle Associative Array dalam kueri SQL

  5. Nama Kolom diawali dengan angka?