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

ROWID (Oracle) - ada gunanya?

ROWID adalah lokasi fisik dari sebuah baris. Akibatnya, ini adalah cara tercepat untuk menemukan baris, bahkan lebih cepat daripada pencarian kunci utama. Jadi ini bisa berguna dalam jenis transaksi tertentu di mana kita memilih beberapa baris, menyimpan ROWID-nya dan kemudian menggunakan ROWID di where klausa untuk DML terhadap baris yang sama.

Sintaks Oracle SELECT ... FOR UPDATE secara implisit menggunakan ROWID, ketika kami memperbarui baris yang dikunci menggunakan WHERE CURRENT OF. Juga tabel EXCEPTIONS (direferensikan saat menerapkan batasan dengan klausa EXCEPTIONS INTO) memiliki kolom ROW_ID. Ini memungkinkan kita untuk dengan cepat mengidentifikasi baris yang melanggar batasan kita.

Contoh terakhir itu menunjukkan penggunaan umum lainnya:ketika kita menulis beberapa bagian kode umum dan memerlukan mekanisme untuk menyimpan UID tanpa memperhatikan tipe data, kunci komposit, dll.

ROWNUM di sisi lain adalah kolom semu yang menandai baris dalam kumpulan hasil yang diberikan. Itu tidak memiliki signifikansi permanen.

edit

ROWID untuk catatan tertentu dapat berubah selama masa pakai sistem, misalnya melalui pembuatan ulang tabel. Juga jika satu catatan dihapus, catatan baru dapat diberikan ROWID itu. Akibatnya ROWID tidak cocok untuk digunakan sebagai UID dalam jangka panjang. Tapi mereka cukup baik untuk digunakan dalam transaksi.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Memformat Bulan dalam Angka Romawi di Oracle

  2. Cara PLAY_SOUND di Oracle Forms

  3. Perbaiki 'Aplikasi "SQLDeveloper.app" tidak dapat dibuka.'

  4. ubah ukuran tipe data di sql

  5. Apakah mungkin untuk merujuk ke nama kolom melalui variabel bind di Oracle?