Query untuk paging pada Database Oracle

Pada tulisan sebelumnya telah disebutkan tentang perintah query untuk paging pada database mysql maka berikut ini akan disebutkan perintah query untuk paging pada database oracle.

Berbeda dengan MySQL yang memiliki perintah “limit”, pada database oracle tidak ada perintah langsung (yang saya tau :D) untuk memanggil dan membatasi baris tertentu saja. Ada perintah rownum tetapi perintah ini hanya membatasi jumlah row yng ditampilkan saja dan tidak bisa digunakan untuk membatasi baris sekian hingga sekian.

Untuk itu, perlu ada perintah untuk mendifinisikan suatu informasi tentang baris-baris yang sedang dipanggil, yaitu dengan menggunakan perintah row_num().

Contoh sebagai berikut:

select * from 
(select row_number() over (order by nama asc) baris, a.*
from pegawai order by nama asc)
where baris between 1 and 50

artinya, kita menambahkan satu field atau kolom bernama “baris” yang berisi nomor urut data yang sedang dipanggil baru kemudian kita pilih antara baris ke 1 sampai dengan baris ke 50.

Contoh kedua:

select * from 
(select row_number() over (order by nama asc) baris, a.*
from pegawai order by nama asc)
where baris between 51 and 100

artinya, kita mengambil baris ke 51 sampai dengan baris ke 100, dan begitu seterusnya.

Demikian, Semoga Bermanfaat.

2 Responses to Query untuk paging pada Database Oracle

  1. wiwi mengatakan:

    saya sudah coba, tapi pagingnya tidak berfungsi, hanya membatasi data yang tampil.

    apakah ada cara lain lagi? terima kasih

    • abuibrahim11 mengatakan:

      Memang benar fungsi query ini untuk membatasi data yang ditampilkan. Tinggal menyesuaikan di script webnya bagian (halaman) ke berapa yang akan ditampilkan, dengan mengganti nilai angka1 dan angka2 pada bagian ini:
      “where baris between angka1 and angka2”
      Semoga bermanfaat..

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: