Как запустить следующие операторы Oracle exec в SQL Developer? - PullRequest
2 голосов
/ 30 мая 2011

Я сталкивался с этими утверждениями, которые должны выполняться в Oracle, однако я не уверен, как эти выражения должны выполняться. Пробовал запускать их как SQL, но не работает.

variable output1 NUMBER;
variable output2 VARCHAR2(100);

exec rp_orader_closure_pxkg.rp_exaec_close_SILvl_WKO('aaa',
                                                     '1',
                                                     '10aaa001a6414339',
                                                     :output1, :output2);

Ответы [ 3 ]

4 голосов
/ 30 мая 2011

Я не уверен, что все команды SQLPlus работают в SQL Developer. Вы можете сделать это в анонимном блоке:

DECLARE
    output1 NUMBER;
    output2 VARCHAR2(100);
BEGIN
    rp_orader_closure_pxkg.rp_exaec_close_SILvl_WKO('aaa', '1', 
        '10aaa001a6414339', output1, output2);
END;
3 голосов
/ 30 мая 2011

У меня отлично работает, SQL Developer v3.0.04. В окне скрипта я ввожу:

create or replace package p as
procedure prc (p1 in varchar2, p2 in out varchar2);
end;
/
create or replace package body p as
procedure prc (p1 in varchar2, p2 in out varchar2) is
begin
  p2 := p1;
end prc;
end;
/
variable output2 VARCHAR2(100);

exec p.prc('aaa',:output2);

print output2;

В окне вывода скрипта:

PACKAGE p compiled
PACKAGE BODY p compiled
anonymous block completed
OUTPUT2
---
aaa

Возможно, я что-то упустил?

1 голос
/ 30 мая 2011

Просто потеряйте первые две строки и выполните только строку с exec в начале. Разработчик SQL спросит вас о значениях переменных. Просто оставьте их NULL, так как они являются выходными параметрами.

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