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

INSERT dengan ORDER di Oracle

Anda tidak andal mengontrol dalam urutan apa Oracle mengambil baris tabel tanpa ORDER BY .

Selanjutnya, tanpa /*+APPEND*/ petunjuk, Oracle akan menyimpan baris secara fisik di tabel tumpukan di mana ada ruang, yang mungkin tidak di akhir tabel! Anda mungkin berpikir Oracle menyisipkannya secara berurutan tetapi DML atau aktivitas bersamaan (penyisipan 2+ sesi) mungkin menghasilkan organisasi fisik yang berbeda.

Anda dapat menggunakan tabel INDEX ORGANIZED untuk menyimpan baris dalam urutan PK. Sebagian besar kueri sederhana setelahnya di tabel itu akan menghasilkan serangkaian baris yang diurutkan. Namun, ini tidak menjamin bahwa Oracle akan memilih baris dalam urutan itu jika Anda tidak menentukan ORDER BY (bergantung pada kueri dan jalur akses, baris dapat muncul dalam urutan apa pun).

Anda juga dapat menggunakan tampilan dengan pesanan berdasarkan, ini mungkin pilihan terbaik Anda jika Anda tidak dapat menyentuh aplikasi (ganti nama tabel, buat tampilan dengan nama tabel, biarkan aplikasi berpikir bahwa itu menanyakan tabel). Saya tidak tahu apakah itu layak untuk kasus Anda.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apakah ada perbedaan antara !=dan <> di Oracle Sql?

  2. Kesalahan:ORA-01704:string literal terlalu panjang

  3. ORACLE Setelah pemicu pembaruan:memecahkan kesalahan tabel mutasi ORA-04091

  4. Bagaimana cara memasukkan lebih dari 1000 nilai ke dalam klausa Oracle IN

  5. Memanggil prosedur tersimpan Oracle dari C #?