首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

oracle存储过程分页有关问题求解

2013-03-26 
oracle存储过程分页问题求解今天自己写了一个测试的项目,研究了一下oracle存储过程分页的问题,闲话少说先

oracle存储过程分页问题求解
今天自己写了一个测试的项目,研究了一下oracle存储过程分页的问题,闲话少说先看代码:

procedure getrows(
  v_tablename varchar, --表名
  stanum integer, --开始
  endnum integer, --结束
  x_cur out XCH_CURSOR --返回
)
as 
v_sql varchar(200);
begin
      v_sql:='select b.zgxm,c.dwmc,a.* from 

                     (select b.* from (select a.*,rownum as rn from (select * from '|| v_tablename ||') a 
                     where rownum<='|| endnum ||') b where rn>='|| stanum ||' ) a 
                     left join h_grxx b on a.grzh=b.grzh
                     left join h_dwxx c on a.dwzh=c.dwzh' ;
      open x_cur for v_sql;
  end getrows;


这个存储过程分页是没有问题,我能够看到查询到的数据,但是当我的页码变的很大即我的stanum值和endnum值变得很大的时候我就不能查看了。
我查询的这张表有4044912行数据,测试的时候如果查询的数据超过一定范围就查不到了报错是下图:
希望路过的高手不吝赐教!
[最优解释]
是否是你v_sql varchar(200)定义的过小,你可以加大点试试。
[其他解释]
我来补充点:
在sql/plus代码窗口直接运行分页语句,查询没有问题。
[其他解释]
真给力。。一下就找到了。。。

热点排行