create or replace procedure proc_selectall
(
tableName in varchar2, –要查询的表名
pageNo in number, –当前页数
pageSizes in number, –没有条数
pageCount out number , –总页数
listSize out number , –总记录数
cursorList out sys_refcursor –输出数据游标
)
is
v_sql varchar2(2000);
v_page1 int:=(pageNo-1)*pageSizes+1;
v_page2 int:=pageNo*pageSizes;
begin
–设置总记录数
execute immediate ‘select count(*) from ‘||tableName into listSize;
–设置分页sql语句
v_sql:=’select * from (select rownum r ,s.* from ‘||tableName||’ s) where r between ‘||v_page1||’ and ‘||v_page2;
open cursorList for v_sql;
–设置总页数
pageCount:=ceil(listSize/pageSizes);
end;
–v_sql 的初始状态
–elect * from (select rownum r ,s.* from studentinfo s) where r between (3-1)*10 and 3*10;
欢迎使用CSDN-markdown编辑器
最新推荐文章于 2021-01-07 23:01:28 发布