这是我的代码
create or replace procedure proc_test
(chang in number,kuan in number,s out number)
is
begin
s:=chang*kuan;  
end ;
declare
chang number:=6;
kuan number:=7;
s number;
begin 
proc_test(chang,kuan,s);
dbms_output.put_line(s);
end;

解决方案 »

  1.   

    你是不是把上下两块代码放在一起执行啊?如果是就肯定报错,应该是上边的过程是单独一个函数,然后你在一个SQL页面中去执行下边代码就没有问题了。我试过了。
      

  2.   

    说的有点歧义:就是说上边的代码块你放在单独一个过程中,编译通过后,然后用new一个PL/SQL Developer的SQL Window,然后将下部分的代码库复制进去执行下,是没有问题的。
      

  3.   

    declare
    chang number:=6;
    kuan number:=7;
    s number;
    begin  
      --proc_test(chang,kuan,s);
      s:= chang * kuan;
      dbms_output.put_line('result = ' || to_char(s));
    end;
    --这样执行没问题
    result = 42