CREATE OR REPLACE Procedure P_CZH_FLOW_ADD
(
Flow_Name in varchar2 default '',
--Flow_Type in number default 0,
Flow_Desc in varchar2 default '',
Flow_WishDate in number default 0,
Flow_MaxDate in number default 0,
Flow_Status in number default 0,
Flow_Creator in varchar2 default '',
Flow_Filltime in varchar2 default '',
Flow_ID out number
)
is
begin  Insert into t_Flow( flowname,Flowdescribe,Status,Wishdate,Maxdate,Creator,Filltime,flowid)
  values (Flow_Name,Flow_Desc,Flow_Status,Flow_WishDate,Flow_MaxDate,Flow_Creator,TO_DATE(Flow_Filltime,'yyyy-mm-dd'),SEQ_T_FLOW.NEXTVAL);  select FLOWID INTO Flow_ID  from (select FLOWID,rank() over(order by FLOWID DESC) rk from T_FLOW) where rk=1;end;以上存储过程编译可以通过,但是在程序传值过来以后总是会出现:
调用 'P_CZH_FLOW_ADD' 时参数个数或类型错误

解决方案 »

  1.   

    begin
    P_CZH_FLOW_ADD('111','2222',2,3,1,'yjj',TO_DATE('2006-07-07','yyyy-mm-dd'));
    end;在数据库执行也是这样的错误
      

  2.   

    一共是8各参数你上面才传进来7个,当然不对了declare aa number;
    begin
    P_CZH_FLOW_ADD('111','2222',2,3,1,'yjj',TO_DATE('2006-07-07','yyyy-mm-dd'),aa);
    end;
      

  3.   

    自增的字段要在insert语句的前面加入一个序列。
      

  4.   

    Flow_ID out number
    是输出参数调用的时候
    declare aa number;
    begin
    P_CZH_FLOW_ADD('111','2222',2,3,1,'yjj',TO_DATE('2006-07-07','yyyy-mm-dd'),aa);
    end;这样就会返回aa的值