Rumah pangkalan data Oracle Cara menulis paging oracle

Cara menulis paging oracle

Apr 21, 2023 am 10:10 AM

Paging Oracle adalah keperluan yang sangat biasa, terutamanya apabila membangunkan aplikasi web dan API. Penomboran boleh mengurangkan penggunaan sumber pelayan dengan berkesan dan memberikan pengguna pengalaman yang lebih mesra. Jadi, bagaimanakah paging Oracle harus ditulis? Mari perkenalkan di bawah.

Pertama sekali, kita perlu menjelaskan keperluan kita. Katakan kita mempunyai jadual pesanan bernama pesanan, yang mengandungi banyak maklumat pesanan. Kami perlu menanyakan data nombor halaman yang ditentukan mengikut bilangan item tetap setiap halaman. Sebagai contoh, setiap halaman memaparkan 10 item dan menanyakan data pesanan pada halaman 3. Jadi, bagaimana untuk mencapainya? Seterusnya, kami akan memperkenalkan beberapa kaedah pelaksanaan secara terperinci.

1. Gunakan subquery untuk melaksanakan paging

Subquery ialah cara biasa untuk melaksanakan paging dalam Oracle, yang boleh dicapai dengan menggunakan ROWNUM. Idea asas ialah menggunakan ROWNUM dalam pertanyaan dalaman untuk mengisih, dan kemudian gunakan ROWNUM dalam pertanyaan luar untuk operasi halaman. Kodnya adalah seperti berikut:

SELECT * FROM (
  SELECT orders.*, ROWNUM rnum
  FROM (
    SELECT * FROM orders
    ORDER BY order_date DESC
  ) orders
  WHERE ROWNUM <= 30
) WHERE rnum >= 21;
Salin selepas log masuk

Dalam kod di atas, pernyataan pertanyaan kami mengandungi tiga peringkat sarang. Pernyataan SELECT paling luar menggunakan klausa WHERE untuk menapis ROWNUM dan melaksanakan operasi paging. Pernyataan pertanyaan dalaman mengandungi pernyataan ORDER BY, yang digunakan terutamanya untuk mengisih data. Pernyataan SELECT paling dalam menentukan pesanan jadual yang ingin kami tanyakan.

2. Gunakan fungsi ROW_NUMBER() untuk melaksanakan paging

Cara lain untuk melaksanakan paging ialah menggunakan fungsi ROW_NUMBER(). Kaedah ini sangat berguna apabila kita perlu mengisih mengikut lajur tertentu. Kodnya adalah seperti berikut:

SELECT *
FROM (
  SELECT orders.*,
         ROW_NUMBER() OVER(ORDER BY order_date DESC) AS row_num
  FROM orders
) WHERE row_num BETWEEN 21 AND 30;
Salin selepas log masuk

Dalam kod di atas, kami menggunakan fungsi ROW_NUMBER() untuk menjana row_num medan baharu, yang digunakan untuk menentukan kedudukan setiap rekod selepas mengisih. Kita boleh menggunakan klausa WHERE untuk menapis rekod dalam julat yang ditentukan.

3. Gunakan OFFSET-FETCH untuk melaksanakan paging

Selepas Oracle 12c, cara baharu untuk melaksanakan paging telah diperkenalkan, iaitu menggunakan pernyataan OFFSET-FETCH. Berbanding dengan dua kaedah sebelumnya, kaedah ini lebih intuitif dan ringkas, dan kodnya lebih mudah dibaca dan difahami. Kodnya adalah seperti berikut:

SELECT *
FROM orders
ORDER BY order_date DESC
OFFSET 20 ROWS FETCH NEXT 10 ROWS ONLY;
Salin selepas log masuk

Dalam kod di atas, kami menggunakan pernyataan OFFSET-FETCH untuk melaksanakan operasi paging. OFFSET digunakan untuk menentukan offset, iaitu, baris mana untuk memulakan pertanyaan; FETCH digunakan untuk menentukan bilangan baris untuk pertanyaan Kaedah ini boleh memudahkan penyataan pertanyaan dan meningkatkan kecekapan pertanyaan.

Ringkasnya, artikel ini memperkenalkan tiga cara untuk melaksanakan paging Oracle, termasuk menggunakan subquery, fungsi ROW_NUMBER() dan pernyataan OFFSET-FETCH. Setiap kaedah mempunyai senario yang berkenaan, dan kaedah pelaksanaan khusus juga sedikit berbeza. Kita boleh memilih kaedah yang sepadan untuk melaksanakan paging Oracle mengikut keperluan yang berbeza.

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

Kenyataan Laman Web ini
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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Akan R.E.P.O. Ada Crossplay?
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apakah alat operasi pangkalan data Oracle? Apakah alat operasi pangkalan data Oracle? Apr 11, 2025 pm 03:09 PM

Sebagai tambahan kepada SQL*Plus, terdapat alat untuk mengendalikan pangkalan data Oracle: pemaju SQL: alat percuma, mesra antara muka, dan menyokong operasi grafik dan debugging. TOAD: Alat perniagaan, kaya ciri, sangat baik dalam pengurusan pangkalan data dan penalaan. Pemaju PL/SQL: Alat yang berkuasa untuk pembangunan PL/SQL, penyuntingan kod dan debugging. DBeaver: Alat sumber terbuka percuma, menyokong pelbagai pangkalan data, dan mempunyai antara muka yang mudah.

Cara memeriksa saiz meja oracle Cara memeriksa saiz meja oracle Apr 11, 2025 pm 08:15 PM

Untuk menanyakan saiz ruang meja oracle, ikuti langkah -langkah berikut: Tentukan nama meja dengan menjalankan pertanyaan: pilih Tablespace_Name dari DBA_TableSpaces; Tanya saiz meja dengan menjalankan pertanyaan: pilih jumlah (bait) sebagai total_size, jumlah (bytes_free) sebagai tersedia_space, jumlah (bytes) - jumlah (bytes_free) sebagai digunakan_space dari dba_data_files di mana tablespace_

Oracle PL/SQL Dive Deep: Menguasai Prosedur, Fungsi & Pakej Oracle PL/SQL Dive Deep: Menguasai Prosedur, Fungsi & Pakej Apr 03, 2025 am 12:03 AM

Prosedur, fungsi dan pakej dalam OraclePL/SQL digunakan untuk melaksanakan operasi, mengembalikan nilai dan menyusun kod, masing -masing. 1. Proses ini digunakan untuk melakukan operasi seperti mengeluarkan salam. 2. Fungsi ini digunakan untuk mengira dan mengembalikan nilai, seperti mengira jumlah dua nombor. 3. Pakej digunakan untuk mengatur unsur -unsur yang relevan dan meningkatkan modulariti dan mengekalkan kod, seperti pakej yang menguruskan inventori.

Oracle GoldenGate: Replikasi & Integrasi Data Masa Nyata Oracle GoldenGate: Replikasi & Integrasi Data Masa Nyata Apr 04, 2025 am 12:12 AM

OracleGoldEngate membolehkan replikasi dan integrasi data masa nyata dengan menangkap log transaksi pangkalan data sumber dan menggunakan perubahan pada pangkalan data sasaran. 1) Tangkap perubahan: Baca log transaksi pangkalan data sumber dan tukarnya ke fail jejak. 2) Perubahan penghantaran: Transmisi ke sistem sasaran melalui rangkaian, dan penghantaran diuruskan menggunakan proses pam data. 3) Perubahan Aplikasi: Pada sistem sasaran, proses salinan membaca fail jejak dan menggunakan perubahan untuk memastikan konsistensi data.

Cara Membuat Pangkalan Data Oracle Cara Membuat Pangkalan Data Oracle Cara Membuat Pangkalan Data Oracle Cara Membuat Pangkalan Data Oracle Apr 11, 2025 pm 02:36 PM

Untuk membuat pangkalan data Oracle, kaedah biasa adalah menggunakan alat grafik DBCA. Langkah -langkah adalah seperti berikut: 1. Gunakan alat DBCA untuk menetapkan DBName untuk menentukan nama pangkalan data; 2. Tetapkan SYSPASSWORD dan SYSTEMPASSWORD kepada kata laluan yang kuat; 3. Tetapkan aksara dan NationalCharacterset ke Al32utf8; 4. Tetapkan MemorySize dan Tablespacesize untuk menyesuaikan mengikut keperluan sebenar; 5. Tentukan laluan logfile. Kaedah lanjutan dibuat secara manual menggunakan arahan SQL, tetapi lebih kompleks dan terdedah kepada kesilapan. Perhatikan kekuatan kata laluan, pemilihan set aksara, saiz dan memori meja makan

Cara Mendapatkan Masa di Oracle Cara Mendapatkan Masa di Oracle Apr 11, 2025 pm 08:09 PM

Terdapat kaedah berikut untuk mendapatkan masa di Oracle: Current_TimeStamp: Mengembalikan masa sistem semasa, tepat untuk beberapa saat. SystimeStamp: Lebih tepat daripada Current_TimeStamp, kepada nanodekonda. SYSDATE: Mengembalikan tarikh sistem semasa, tidak termasuk bahagian masa. To_char (sysdate, 'yyy-mm-dd hh24: mi: ss'): Menukar tarikh dan masa sistem semasa ke format tertentu. Ekstrak: Ekstrak bahagian tertentu dari nilai masa, seperti tahun, bulan, atau jam.

Cara melihat contoh nama oracle Cara melihat contoh nama oracle Apr 11, 2025 pm 08:18 PM

Terdapat tiga cara untuk melihat nama contoh di Oracle: Gunakan "sqlplus" dan "pilih instance_name dari v $ instance;" Perintah pada baris arahan. Gunakan "pertunjukan instance_name;" Perintah dalam SQL*Plus. Semak Pembolehubah Alam Sekitar (ORACLE_SID pada Linux) melalui Pengurus Tugas Sistem Operasi, Pengurus Oracle Enterprise, atau melalui sistem operasi.

Cara menyulitkan pandangan oracle Cara menyulitkan pandangan oracle Apr 11, 2025 pm 08:30 PM

Penyulitan Oracle View membolehkan anda menyulitkan data dalam pandangan, dengan itu meningkatkan keselamatan maklumat sensitif. Langkah -langkah termasuk: 1) mewujudkan kunci penyulitan induk (MEK); 2) mencipta pandangan yang disulitkan, menyatakan pandangan dan MEK untuk disulitkan; 3) Memberi kuasa pengguna untuk mengakses pandangan yang disulitkan. Bagaimana pandangan yang disulitkan berfungsi: Apabila permintaan pengguna untuk paparan yang disulitkan, Oracle menggunakan MEK untuk menyahsulit data, memastikan bahawa hanya pengguna yang diberi kuasa dapat mengakses data yang boleh dibaca.

See all articles