( BH IN varchar2, cur OUT pkg_xfjg.cur_jgmc)
定义了两个参数为什么只传一个参数?"?

解决方案 »

  1.   

    declare 参数声明
    begin
      过程调用
    end;
    /
      

  2.   

    刚好看到书上写的源码:
    首先,在创建包之前,定义一个全局变量,以供输出需要。然后,在写运行命令时:EXECUTE P_XFJG('3601','定义的全局变量');运行完毕后,就可以用print 命令来查看这个全局变量了。或者用你的方法:BEGIN P_XFJG('3601','定义的全局变量'); END;OK了。书上写的,刚好看到,还没测试。
      

  3.   

    对,你需要将输出参数也传进去,如下例:
    CREATE OR REPLACE  PROCEDURE OB_STOCKAMOUNT
    (materialName in varchar2,stockAmount out varchar2  )
    as
    BEGIN
     
       --end1 VARCHAR2(10) := 'blip';
       --stockAmount :=materialName;
       stockAmount:=materialName;
       DBMS_OUTPUT.PUT_LINE (materialName);
    END;
    执行:
    declare x varchar2(30);
     begin
      ob_stockamount('22',x);
      dbms_output.put_line(x);
     end; 
     /