Rumah  >  Artikel  >  pangkalan data  >  Cara membuat penomboran dalam oracle

Cara membuat penomboran dalam oracle

PHPz
PHPzasal
2023-05-12 09:23:0614707semak imbas

Oracle ialah sistem pengurusan pangkalan data yang digunakan secara meluas yang menyokong sepenuhnya standard bahasa SQL. Dalam banyak senario, kami perlu memaparkan hasil pertanyaan dalam halaman untuk memudahkan pengurusan dan tontonan data. Seterusnya, artikel ini akan memperkenalkan cara Oracle melaksanakan operasi paging.

1. Gunakan ROWNUM untuk paging

Oracle menyediakan fungsi ROWNUM, yang boleh mengenal pasti setiap baris dalam set hasil yang dikembalikan sebagai nilai unik, dan nilai dinomborkan bermula dari 1. self- semakin meningkat. Fungsi ini mempunyai ciri-ciri berikut:

  1. Hasil pulangan mengandungi lajur ROWNUM, yang digunakan untuk merekodkan nombor baris baris data.
  2. Peraturan pengiraan ROWNUM adalah untuk mula mengira apabila N baris pertama data yang memenuhi syarat dikembalikan selepas keadaan WHERE yang ditentukan pengguna dan ORDER BY sorting.
  3. hanya boleh melakukan satu semakan nilai dan mengembalikan baris rekod yang layak, dan tidak boleh digunakan untuk operasi halaman pertanyaan berterusan.

Kemudian, kita boleh menggunakan fungsi ROWNUM untuk melaksanakan operasi halaman data Langkah-langkah pelaksanaan khusus adalah seperti berikut:

  1. Tulis pernyataan SQL pertanyaan dan nyatakan hasil data. set yang perlu dihalakan.
  2. Gunakan fungsi ROWNUM berdasarkan set hasil pertanyaan dan nyatakan bilangan baris untuk disoal dan bilangan baris permulaan.

Contohnya:

PILIH DARI (PILIH A., ROWNUM RN DARI (PILIH * DARI user_data ORDER OLEH user_id) A WHERE ROWNUM <= 20 ) WHERE RN >= 1;

Dalam pernyataan SQL di atas, pernyataan subquery digunakan untuk menanyakan semua data daripada jadual user_data dan mengisih mengikut medan user_id. Akhir sekali, gunakan fungsi ROWNUM berdasarkan set hasil pertanyaan dan hadkan bilangan baris yang dikembalikan dalam set hasil pertanyaan kepada 20 baris. Hasil daripada menggunakan pernyataan SQL di atas ialah rekod data dari baris 1 hingga baris 20.

2. Gunakan OFFSET...FETCH untuk paging

Mensasarkan pengehadan kaedah paging ROWNUM, Oracle telah menyediakan kaedah paging baharu sejak versi 12c, iaitu sintaks interpolasi OFFSET FETCH . Berbanding dengan fungsi ROWNUM, ciri-ciri sintaks OFFSET FETCH ialah:

  1. tidak bergantung pada nombor baris, tetapi nilai urutan pemprosesan yang ditentukan oleh ON (OFFSET merujuk kepada ofset) dan LIMIT nilai ( FETCH merujuk kepada bilangan baris yang diambil) untuk mendapatkan set hasil.
  2. Boleh menanyakan data penomboran secara berterusan, sesuai untuk jumlah data yang besar.
  3. Hasil pertanyaan menggunakan sintaks OFFSET FETCH tidak akan dipengaruhi oleh pernyataan WHERE dan ORDER BY.

Kaedah penggunaan khusus adalah seperti berikut:

PILIH * DARI user_data ORDER BY user_id OFFSET 0 ROWS FETCH NEXT 20 ROWS SAHAJA;

Dalam pernyataan SQL di atas , OFFSET 0 ROWS FETCH NEXT 20 ROWS SAHAJA sintaks menunjukkan bahawa offset yang ditentukan ialah baris 0 dan 20 baris rekod data diperolehi.

Ringkasan:

Oracle menyediakan dua kaedah pertanyaan data halaman: fungsi ROWNUM dan sintaks OFFSET FETCH. Fungsi ROWNUM sesuai untuk situasi di mana jumlah data adalah kecil dan operasi paging hanya perlu dilakukan sekali. Sintaks OFFSET FETCH sesuai untuk situasi di mana jumlah data adalah besar dan berbilang halaman perlu disoal secara berterusan.

Atas ialah kandungan terperinci Cara membuat penomboran dalam oracle. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:sambungan padam oracleArtikel seterusnya:sambungan padam oracle