日期:2014-05-17  浏览次数:20802 次

急,在线等-->>存过怎么不能运行?
create or replace procedure test(x in number) is
begin
  if x > 0 then
  begin
  x := 0 - x;
  dbms_output.put_line(x);
  end;
  end if;
  if x = 0 then
  begin
  x := 1;
  dbms_output.put_line(x);
  end;
  end if;
end test;

declare
  x integer ;
begin
  X := 3;
  test(X);
  dbms_output.put_line(x);
end;


------解决方案--------------------
这两段代码不要放在一起执行,按这样操作:
1、新建sql窗口,执行如下代码,以创建存储过程test:
create or replace procedure test(x in out number) is
begin
if x > 0 then
begin
x := 0 - x;
dbms_output.put_line(x);
end;
end if;
if x = 0 then
begin
x := 1;
dbms_output.put_line(x);
end;
end if;
end test;

2、新建sql窗口,执行如下代码,查看输出:
declare
x integer ;
begin
X := 3;
test(X);
dbms_output.put_line(x);
end;