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

Paging dengan Oracle dan sql server dan metode paging generik

Sayangnya, metode untuk membatasi rentang baris yang dikembalikan oleh kueri bervariasi dari satu DBMS ke DBMS lainnya:Oracle menggunakan ROWNUM (lihat jawaban ocdecio), tetapi ROWNUM tidak akan berfungsi di SQL Server.

Mungkin Anda dapat merangkum perbedaan ini dengan fungsi yang mengambil pernyataan SQL tertentu dan nomor baris pertama dan terakhir dan menghasilkan SQL paginatd yang sesuai untuk DBMS target - misalnya:

sql = paginated ('select empno, ename from emp where job = ?', 101, 150)

yang akan kembali

'select * from (select v.*, ROWNUM rn from ('
 + theSql
 + ') v where rownum < 150) where rn >= 101'

untuk Oracle dan sesuatu yang lain untuk SQL Server.

Namun, perhatikan bahwa solusi Oracle menambahkan kolom baru RN ke hasil yang harus Anda tangani.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 27 skrip Oracle dba untuk Oracle Database untuk Administrasi dan Pemantauan

  2. Bagaimana cara membuat Kunci Asing dengan ON UPDATE CASCADE di Oracle?

  3. Menghubungkan Oracle ke SQL Server dari Windows

  4. Fungsi NLS_INITCAP() di Oracle

  5. Agregat baris dalam pernyataan Oracle SQL