2009-05-08 7 views
11

ここでパッケージ..プロシージャを実行するには?

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', ??????); 

例えば

私は、手続きの引数として渡すためにどのような値を知る必要があります。 SQL Plusで

+1

私は書式設定の一部を修正しますが、それは「PLS」ではなく「duno」よりも、より適切な英語を使用していますように、あなたの質問を編集しては、など –

+0

側注、私はwhere句に " - "を間違えたと思います。 ob.active_staus = 'Y' –

答えて

21

VAR rc REFCURSOR 
EXEC gokul_proc(1,'GOKUL', :rc); 
print rc 
関連する問題