如何运行程序?

时间:2009-05-08 10:11:55

标签: oracle plsql

这里的包..

CREATE OR REPLACE PACKAGE G_PKG_REFCUR AS
    TYPE rcDataCursor IS REF CURSOR;
END;

让我们考虑一下PROC ..

Create procedure gokul_proc(
    pId in number,
    pName in varchar2,
    OutCur OUT G_PKG_REFCUR.rcDataCursor ) is
BEGIN
    Open OutCur For
        select * from gokul_table ob 
        where ob.active_staus-'Y' AND ob.id=pId AND ob.name=pNname;
END;

以下是我的问题:如何执行此程序?

如果没有OutCur参数,那么我可以像这样执行..

EXEC gokul_proc(1,'GOKUL');

但问题是OutCur。我不知道这里要传递哪个值。

例如

EXEC gokul_proc(1,'GOKUL', ??????);

我只需知道作为过程参数传递的值。

1 个答案:

答案 0 :(得分:21)

在SQL Plus中:

VAR rc REFCURSOR
EXEC gokul_proc(1,'GOKUL', :rc);
print rc