2009-05-08 20 views
11

Tutaj Pakiet ..Jak uruchomić procedurę?

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

Rozważmy 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; 

Oto moje pytanie: W jaki sposób można wykonać tę procedurę?

Jeśli nie jest parametrem OutCur, to mogę wykonać tak ..

EXEC gokul_proc(1,'GOKUL'); 

ale problem jest OutCur. Nie wiem, jaką wartość tu przekazać.

Na przykład

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

Muszę tylko wiedzieć, jakie wartości przekazać jako argument za procedury.

+1

Choć Naprawiłem niektóre formatowania rozważyć edycji pytanie tak, że używa bardziej poprawnie po angielsku, zamiast „Duno”, „pls” itp –

+0

na stronie uwaga, myślę, że błędnie wpisałeś "-" w klauzuli where - eg ob.active_staus = "Y" –

Odpowiedz

21

W SQL Plus:

VAR rc REFCURSOR 
EXEC gokul_proc(1,'GOKUL', :rc); 
print rc 
Powiązane problemy