create or replace procedure proc_omeet_page(
page int,--第几页
perPageCount int ,--每页几条记录
totalPage out int,--总页数
pageResultSet out SYS_REFCURSOR --当前页查询出来的结果集
)
as
totalCount int;--总记录数
pageSql varchar(2000); --查询某页结果的SQL语句
begin
select count(1) into totalCount from scott.v_meetinfo; --查询总记录数
totalPage := ceil( totalCount / perPageCount); --算出总页数
pageSql := 'select * from v_meetinfo u
where rn between '||(page-1)||'*'||perPageCount||'+1 and '||(page*perPageCount);
open pageResultSet for pageSql;
end proc_omeet_page; declare
pageResult SYS_REFCURSOR; --存放结果的变量
questions_type v_meetinfo%rowtype;
totalPage int;--总页数
begin
proc_omeet_page(1,2,totalPage,pageResult);
fetch pageResult into questions_type;
while pageResult%found loop
dbms_output.put_line(questions_type.miuiid);
fetch pageResult into questions_type;
end loop;
close pageResult;
end;
commit;为什么会是错误的呢?求解
page int,--第几页
perPageCount int ,--每页几条记录
totalPage out int,--总页数
pageResultSet out SYS_REFCURSOR --当前页查询出来的结果集
)
as
totalCount int;--总记录数
pageSql varchar(2000); --查询某页结果的SQL语句
begin
select count(1) into totalCount from scott.v_meetinfo; --查询总记录数
totalPage := ceil( totalCount / perPageCount); --算出总页数
pageSql := 'select * from v_meetinfo u
where rn between '||(page-1)||'*'||perPageCount||'+1 and '||(page*perPageCount);
open pageResultSet for pageSql;
end proc_omeet_page; declare
pageResult SYS_REFCURSOR; --存放结果的变量
questions_type v_meetinfo%rowtype;
totalPage int;--总页数
begin
proc_omeet_page(1,2,totalPage,pageResult);
fetch pageResult into questions_type;
while pageResult%found loop
dbms_output.put_line(questions_type.miuiid);
fetch pageResult into questions_type;
end loop;
close pageResult;
end;
commit;为什么会是错误的呢?求解
你的这个应该是一个视图,其中的rn只是rownum或row_number()的一个别名而已