现在需求是这样,需要封装一个方法,里面对一个表进行查询,由于结果肯定是多条,所以需要返回一个游标类型
请问前辈,我在定义方法的时候,这个参数类型是不是写 cursor??
比如
function sel_xxx_by_id(v_cursor OUT cursor)另外在调用的地方应该怎么写?
请问前辈,我在定义方法的时候,这个参数类型是不是写 cursor??
比如
function sel_xxx_by_id(v_cursor OUT cursor)另外在调用的地方应该怎么写?
解决方案 »
- oracle 视图怎么建主键或者增加个序列都行!!!
- 如何將oracle的table、function、procedure、trigger轉入Mysql?
- VS 2008 在同一台机子上连接oracle9i的数据库时,oracle9i要同时装上服务器和客户端?还是只装服务器就够了啊?
- oracle 自定义函数SQL问题
- 如何让index hint透过视图使用
- Oracle存储空间创建问题
- 存储过程如何实现将大于32k的数据写入同一个blob字段
- 我是oracle新手,装了oracle817后,现在想重新装一遍,但是为什么找不到oracle的卸载程序啊,请问该怎么样卸载啊
- oracle sid 问题
- 最新版DEVELOPER是多少?
- Oracle11g(Release2) 命令行删除指定数据库Instance问题,急急急!!!
- 一个查询语句的效率问题
CREATE OR REPLACE PROCEDURE P_RETR_CURSOR
(P_ID IN NUMBER,
P_RECSET OUT SYS_REFCURSOR) AS
BEGIN
OPEN P_RECSET FOR
SELECT e.empno,e.ename
FROM emp e
WHERE empno = P_ID;
END;DECLARE
I NUMBER;
S VARCHAR2(100);
M SYS_REFCURSOR;
BEGIN
FOR J IN 7900..7902 LOOP
P_RETR_CURSOR(J, M);
FETCH M
INTO I, S;
DBMS_OUTPUT.PUT(I || '-');
DBMS_OUTPUT.PUT_LINE(S);
CLOSE M;
END LOOP;
END;
/
参照以上...
过程返回结果集,
procedure proc_name
(...
po_result sys_refcursor)
is
...
至于调用,不同的调用环境有不同的方法。
(...
po_result out sys_refcursor)
is
...
如果是函数的话, 是不是返回值类型也可以 写成 v_cursor OUT sys_refcursor ?
return sys_refcursor
不能返回其他类型,我在调用的地方,声明一个类型的变量,然后扔进去, 也就给他赋值了
所以这个地方有点绕,向我这种情况,这个地方应该怎么写呢?