Вызовите хранимую процедуру PL / SQL из сценария оболочки и перехватите outParameter. - PullRequest
1 голос
/ 27 декабря 2010

Вопрос:

У меня есть хранимая процедура PL / SQL callServlet (wire_type в varchar2, out_flag out varchar2). В этой хранимой процедуре я должен вызвать сервлет Изначально мне нужен сценарий оболочки, который выполняет этот хранимый процесс callServlet, передавая параметры из оболочки. Мне нужно захватить значение параметра out_flag9Out) из хранимой процедуры, и я должен оценить сохраненное значение out_flag для определения значения out_flagg - успех или не_успех.

Не могли бы вы, пожалуйста, дайте мне знать следующие вещи

  1. Как я могу вызвать хранимую процедуру (callServlet) из сценария оболочки, передав параметры in и out?
  2. Как я могу зафиксировать параметр out, отправленный хранимой процедурой callServlet?
  3. Как я могу оценить выходной параметр callServlet, чтобы узнать, является ли статус успешным или нет?

Заранее спасибо !!

1 Ответ

1 голос
/ 27 декабря 2010

Сначала создайте сценарий SQL * plus с именем callServlet.sql :

var l_flag varchar2(100)

begin
  callServlet('&1', :l_flag);
end;
/

print l_flag

Затем вызовите SQL * plus с помощью сценария SQL из сценария оболочки с помощью обратных галочек:

flag=`sqlplus user/secret@database @callServlet.sql "xy"`

Выходной параметр будет присвоен переменной оболочки flag . "xy" - значение параметра wire_type.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...