---currIndex当前页码 pageSize每页显示的记录数
create or replace procedure proc_PageSize(currIndex in number,pageSize in number)
is
begin
select *
from (select t.*,row_number() over(order by lsh) rankid
from c1_menu t order by t.lsh) c1_menu
where rankid > currIndex * pageSize
and rankid <= (currIndex * pageSize) + pagesize;
end;exec procedure proc_PageSize 1,10创建的时候报PLS-00428:在此select语句中缺少INTO子句,求oracle高手指点,因为从事NET开发Oracle用的很少,最近
一个项目用oracle,语法和sql还是有很大区别,求解决!
create or replace procedure proc_PageSize(currIndex in number,pageSize in number)
is
begin
select *
from (select t.*,row_number() over(order by lsh) rankid
from c1_menu t order by t.lsh) c1_menu
where rankid > currIndex * pageSize
and rankid <= (currIndex * pageSize) + pagesize;
end;exec procedure proc_PageSize 1,10创建的时候报PLS-00428:在此select语句中缺少INTO子句,求oracle高手指点,因为从事NET开发Oracle用的很少,最近
一个项目用oracle,语法和sql还是有很大区别,求解决!
is
begin
select *
from
(select *,row_number() rankid
from c1_menu t order by t.lsh) c1_menu
where rankid > currIndex * pageSize
and rankid <= (currIndex * pageSize) + pagesize;
end;
is
-----这里声明一个记录
begin
select * into ------这里写上记录名
from (select t.*,row_number() over(order by lsh) rankid
from c1_menu t order by t.lsh) c1_menu
where rankid > currIndex * pageSize
and rankid <= (currIndex * pageSize) + pagesize;
end;
create or replace procedure proc_PageSize(currIndex in number,pageSize in number)
..--页码和每页 显示的记录数。
/**
1.查处来的结果 应该 放入游标 作为 输出参数
2.查询 sql 给 游标 赋值
如下 :
**/
create or replace procedure proc_PageSize(currIndex in number,pageSize in number,
refCur_rs out SYS_REFCURSOR)
is
begin
open refCur_rs for
select *
from
(select *,row_number() rankid
from c1_menu t order by t.lsh) c1_menu
where rankid > currIndex * pageSize
and rankid <= (currIndex * pageSize) + pagesize;
end;
程序中调用存储过程 得到 输出参数 refCur_rs,这个就是 查得的结果集。
创建的时候报错,逗号是中文的我改过来了以后还是报错
错误信息:
PL/SQL:ORA-00923:未找到要求的from关键字
PL/SQL:SQL Statement ignored
你把我的数据表和字段换成你的表和字段,测试一下能创建通过后再贴上来,然后我再参考的改。
同样的报:
PL/SQL:ORA-00923:未找到要求的from关键字
PL/SQL:SQL Statement ignored
里面的select语句没有问题,但是过程创建报错??
1.分页sql 是这么写的吗?
2.你的问题在哪里,是分页sql不会写,还是 存储过程不会写?
3.你应该去看看提问的智慧碰到问题最好是 把你的 问题描述清楚、把你的环境sql贴上来(建表、或测试数据)
create or replace procedure proc_PageSize(currIndex in number,pageSize in number,
refCur_rs out SYS_REFCURSOR)
is
begin
open refCur_rs for
select *
from (select t.*, rownum rn
from c1_menu t
where rownum <= currIndex * pageSize
order by t.lsh)
where rn > (currIndex * pageSize) + pagesize;
end;