create or replace procedure proc_fenye(
tableName in varchar2, --表名
pageNo in int, --当前显示页码
pageSizee in int, --每页显示数量
pageCount out int, --总页数(输出)
pageTotal out int, --总条数(输出)
p_list out sys_refcursor --查询到的数据集(输出)
)
is
--定义sql语句 条件第几页
v_sql varchar(2000);
v_start number:=(pageNo-1)*pageSizee+1;
v_end number:=pageSizee*pageNo;
begin
v_sql:='select * from (select rownum rkey, e.* from '||tableName||' e) where rkey>='||v_start||' and rkey <='||v_end;
open p_list for v_sql;
v_sql:='select count(*) from '||tableName;
execute immediate v_sql into pageTotal;
pageCount:=ceil(pageTotal/pageSizee);
end;
----注意:返回值有三个,分别是查询到的游标集合数据 总页数 总记录条数
转载于:https://blog.51cto.com/10700835/1694023