Plsql 通过pl/sql实现分页

Plsql 通过pl/sql实现分页,plsql,oracle10g,Plsql,Oracle10g,我试图找到一种通过存储过程调用实现分页的方法。例如,我有一个“Images”表,它有100行。网站将请求“第一个”12,然后当用户“转到下一页”时,网站将请求下一个12 我将在参数p_Offset和p_RecordCount中得到2,我需要返回一个refcursor。p_偏移量将告诉我从哪里开始获取数据,p_RecordCount将告诉我有多少p_偏移量=13,p_RecordCount=12将告诉我从第13行开始返回12行 我们正在使用Oracle 10g,我开始研究记录类型,但我有一种感觉,

我试图找到一种通过存储过程调用实现分页的方法。例如,我有一个“Images”表,它有100行。网站将请求“第一个”12,然后当用户“转到下一页”时,网站将请求下一个12

我将在参数p_Offset和p_RecordCount中得到2,我需要返回一个refcursor。p_偏移量将告诉我从哪里开始获取数据,p_RecordCount将告诉我有多少p_偏移量=13,p_RecordCount=12将告诉我从第13行开始返回12行


我们正在使用Oracle 10g,我开始研究记录类型,但我有一种感觉,我正在使这变得更加困难。任何帮助都将不胜感激。

我想我已经找到了解决方案,但我仍然好奇是否有其他/更好的方法来处理它。以下是我的想法:

open refcursor for
select x.*
from (select col1, col2, row_number()
    over (order by col desc) rn
    from [table])x
where rn >= p_Offset and rownum <= p_RecordCount

我想我已经找到了解决办法,但我仍然好奇是否有其他/更好的方法来处理它。以下是我的想法:

open refcursor for
select x.*
from (select col1, col2, row_number()
    over (order by col desc) rn
    from [table])x
where rn >= p_Offset and rownum <= p_RecordCount

[Paging with Oracle]的可能重复,也就是[Paging with Oracle]的可能重复,也就是: