CREATE OR REPLACE PROCEDURE PAGEDDATA
(
STARTINDEX IN NUMBER,
ENDINDEX IN NUMBER
)
IS
BEGIN
SELECT * FROM (SELECT ROWNUM R ,T1.* FROM TABLEB T1 WHERE ROWNUM<STARTINDEX+ENDINDEX) T2 WHERE T2.R>=STARTINDEX;
END PAGEDDATA;
/总是提示编译有错,就是一个实现分页的存储过程,怎么回事?
(
STARTINDEX IN NUMBER,
ENDINDEX IN NUMBER
)
IS
BEGIN
SELECT * FROM (SELECT ROWNUM R ,T1.* FROM TABLEB T1 WHERE ROWNUM<STARTINDEX+ENDINDEX) T2 WHERE T2.R>=STARTINDEX;
END PAGEDDATA;
/总是提示编译有错,就是一个实现分页的存储过程,怎么回事?
解决方案 »
- scn time 转换问题 --有人遇到过吗?
- 急问ORACLE死锁问题????
- 想换用户登陆
- 熟悉pl/sql developer的进来帮个忙,谢谢。
- 小第公司要搞oracle,从mysql转到oracle!求一本好书!
- 关于GROUP BY的疑问
- 一个关于关闭和重启的问题。
- 在Oracle9i下面,那个命令和Oracle8i的Svrmgrl的功能一样呢?
- 怎么用最简单的方法在orcale数据库查询前几条记录吗?
- win2000下和Oracle8.17下,SQLLDR能用,为什么在win98和Oracle8。05下不能使用。在线等待!
- 修改入库单,更新库存问题
- 2句 sql语句比较 ,数据库oracle 里面的 , 很急
(
STARTINDEX IN NUMBER,
ENDINDEX IN NUMBER,
cur out sys_refcursor
)
IS
BEGIN
open cur for
SELECT * FROM (SELECT ROWNUM R ,T1.* FROM TABLEB T1 WHERE ROWNUM<STARTINDEX+ENDINDEX) T2 WHERE T2.R>=STARTINDEX;
END PAGEDDATA;不能在过程中单纯地运行查询语句
可以用游标将结果集输出
可以把用SELECT检索的回的记录保存到一个记录类型变量中
再使用DBMS_OUTPUT.PUT_LINE()函数进行输出