2009-05-08 31 views
11

Hier wird das Paket ..Wie wird das Verfahren ausgeführt?

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

Lassen Sie uns die PROC betrachten ..

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; 

Hier ist meine Frage: Wie kann ich diese Prozedur ausführen?

Wenn kein OutCur Parameter ist, dann kann ich wie folgt ausführen ..

EXEC gokul_proc(1,'GOKUL'); 

aber das Problem OutCur ist. Ich weiß nicht, welchen Wert ich hier weitergeben soll.

Zum Beispiel

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

Ich muß nur wissen, welcher Wert für das Verfahren als Argument übergeben.

+1

Obwohl ich einige der Formatierung festgelegt, sollten Sie Ihre Frage Bearbeitung, so dass es die richtige Englisch verwendet, sondern als „duno“, „pls“ usw. –

+0

auf einer Seite Notiz, ich glaube, Sie haben ein "-" in der Where-Klausel vertippt - zB ob.active_status = 'Y' –

Antwort

21

In SQL Plus:

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