Как запустить процедуру? - PullRequest
12 голосов
/ 08 мая 2009

Вот пакет ..

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

Давайте рассмотрим ПРОЦ.

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 Ответ

21 голосов
/ 11 мая 2009

В SQL Plus:

VAR rc REFCURSOR
EXEC gokul_proc(1,'GOKUL', :rc);
print rc
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...