2009-05-08 8 views
11

Qui il pacchetto ..Come eseguire la procedura?

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

Consideriamo la 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; 

Ecco la mia domanda: Come è possibile eseguire questa procedura?

Se non c'è un parametro OutCur, allora posso eseguo come questo ..

EXEC gokul_proc(1,'GOKUL'); 

ma, il problema è OutCur. Non so quale valore passare qui.

Per esempio

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

Ho solo bisogno di sapere quale valore da passare come argomento per la procedura.

+1

Anche se ho fissato alcuni dei formattazione, è consigliabile modificare la tua domanda in modo che sia utilizza più inglese corretto, piuttosto che "Duno", "pls", ecc –

+0

su un lato nota, penso che hai digitato in modo errato un "-" nella clausola where - ad es ob.active_staus = 'Y' –

risposta

21

In SQL più:

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