关于PL/SQL存储过程的调用。。大侠帮帮看看
create or replace procedure proce_zy ( v_page in pls_integer,--页码:要显示的第几页 v_pageNum in pls_integer,--每页显示几条记录 cur_page out sys_refcursor )is v_sql varchar2(1000); v_begin pls_integer := (v_page - 1)*v_pageNum+1;-- 开始: (当前页-1 ) *每页显示的记录条数 + 1 v_end pls_integer := v_page*v_pageNum;-- 当前页*每页显示的记录条数 begin v_sql := 'select * from ( select rownum rn,r.* from (select * from t_mc)r)rr where rr.rn between '||v_begin||' and '|| v_end ; open cur_page for v_sql; end proce_zy;
----------下面是块,调用存储过程:上面的存储过程编译都过了,没有错误,下面语句块调用的时候,反正就是有问题。。。 才刚开始学,不是很懂, 还望各位不吝啬教教小弟
declare cur_all sys_refcursor; v_all t_mc%rowtype; begin proce_zy(1,2,cur_all); loop fetch cur_all into v_all; exit when cur_all%notfound; dbms_output.put_line(v_all.sname); end loop; close cur_all; end;
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(8)
继续顶
你的意思是要into 一个记录类型?
我明白你的意思了。 那这样要怎么解决呢?
回复
可以使用for v_all in cur_all loop ... end loop;让系统默认给你一个记录类型。ps:没有测试
回复
哎,我解决不了。。算了。明天在去搞。休息
帮帮啊
顶顶,上帖头。。
顶顶,上帖头。。