如何在SQL Developer中运行以下Oracle exec语句?

时间:2011-05-30 17:00:07

标签: sql oracle

我遇到了应该在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 个答案:

答案 0 :(得分:4)

我不确定SQL Developer中的所有SQLPlus命令都能正常工作。你当然可以在一个匿名块中这样做:

DECLARE
    output1 NUMBER;
    output2 VARCHAR2(100);
BEGIN
    rp_orader_closure_pxkg.rp_exaec_close_SILvl_WKO('aaa', '1', 
        '10aaa001a6414339', output1, output2);
END;

答案 1 :(得分:3)

它适用于我,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

也许我错过了什么?

答案 2 :(得分:1)

只丢失前两行,并在开头只执行exec行。 SQL开发人员会询问您变量的值。只需保留NULL,因为它们是输出参数。