我遇到了应该在Oracle中运行的这些语句,但是我不确定应该如何运行这些语句。尝试将它们作为SQL运行但不起作用。
variable output1 NUMBER;
variable output2 VARCHAR2(100);
exec rp_orader_closure_pxkg.rp_exaec_close_SILvl_WKO('aaa',
'1',
'10aaa001a6414339',
:output1, :output2);
答案 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
,因为它们是输出参数。