如何测试oracle通用存储过程 - Oracle / 开发
SQL code:
CREATE OR REPLACE PROCEDURE p_page (
p_sqlcount IN VARCHAR2, -- 记录数sql语句
p_sql IN VARCHAR2, -- 结果集sql语句
p_startpage IN INT, --起始页号
p_pagenum IN INT, --每页记录数
r_count OUT INT, --总记录数
r_cursor OUT sys_refcursor -- 结果集
)
IS
v_start INT;
v_end INT;
v_sql VARCHAR2 (2000);
BEGIN
v_start := (p_startpage - 1) * p_pagenum + 1;
v_end := v_start + p_pagenum - 1;
EXECUTE IMMEDIATE p_sqlcount
INTO r_count;
v_sql :=
'SELECT * '
|| ' from (select t1.*, ROWNUM r '
|| ' from ('
|| p_sql
|| ' ) t1 where rownum <='
|| TO_CHAR (v_end)
|| ') t2 where r >='
|| TO_CHAR (v_start);
OPEN r_cursor FOR v_sql;
EXCEPTION
WHEN OTHERS
THEN
RAISE;
END p_page;
/
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/wzy0623/archive/2007/08/14/1742788.aspx
在pl/sql中测试该存储过程:
参数输入如下:
p_sqlcount select * from jtglpt_t_dm_b
p_sql select * from jtglpt_t_dm_b
相关问答:
在执行包的时候引用oracle spatial空间函数出错,出错情况如下
Errors in file
/user/oracle/app/oracle/admin/grid/udump/grid1_ora_143768.trc: ORA-29902:
error in executing ODCIIndexStart() routine ORA-0 ......
假设table01 中有 以下资料
emp_no emp_name
------- ------------
0001 TOM
0002 JOHN
0003 MARY
常用电话
而我们要得到以下的OUTPUT (或是各种其他的output)
0001,TOM
0002,JOHN
......
oracle 11g 安装 01092 错误,
日志信息:
[oracle@linux trace]$ vi alert_orcl.log
MMON started with pid=14, OS id=9089
RESETLOGS after incomplete recovery UNTIL CHANGE 522752
Errors in file / ......
java.sql.SQLException: Io 异常: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=186646784)(ERR=12505)(ERROR_STACK=(ERROR=(CODE=12505)(EMFI=4))))
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBErro ......