create or replace package body pagingQuery as
procedure queryUserinfo(pagesize in number,
page in number,
userlist out userinfo) as
begin
open userlist for
select t3.name,
t3.nation,
t3.address,
t3.id_card_number,
t3.born_date,
t3.sex
from (select t2.name,
t2.nation,
t2.address,
t2.id_card_number,
t2.born_date,
t2.sex,
rownum rn
from (select t1.name,
t1.nation,
t1.address,
t1.id_card_number,
t1.born_date,
t1.sex
from user_info t1) t2
where rownum <= (page * pageSize)) t3
where rn >= ((page - 1) * pageSize + 1);
end queryUserinfo;
end pagingQuery;
begin
mypackage01.queryEmpList(20);
end;
/
这应该是oracle规定的写法
游标是SQL的一个内存工作区,由系统或用户以变量的形式定义。游标的作用就是用于临时存储从数据库中提取的数据块。游标不是oracle的基本数据类型。
光标也就是常说的游标,课程里面是用来接收输出参数的,输出参数就是用来返回的,请认真看一下视频。
光标不需要关闭的吧?我觉得是跟我们数组下标差不多的。