存储过程参数输入错误

hy_lihuan 2006-11-22 10:36:38
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' 时参数个数或类型错误
...全文
287 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
hy_lihuan 2006-11-22
  • 打赏
  • 举报
回复
最后一个参数是自增长的阿,这个参数怎么传进去啊?
hy_lihuan 2006-11-22
  • 打赏
  • 举报
回复
顶啊顶
icedut 2006-11-22
  • 打赏
  • 举报
回复
一共是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;

hy_lihuan 2006-11-22
  • 打赏
  • 举报
回复
begin
P_CZH_FLOW_ADD('111','2222',2,3,1,'yjj',TO_DATE('2006-07-07','yyyy-mm-dd'));
end;

在数据库执行也是这样的错误
kingkingkingking 2006-11-22
  • 打赏
  • 举报
回复
在数据库端执行存储过程有问题么

如果没有,那就是你的前台参数传入的地方有问题
icedut 2006-11-22
  • 打赏
  • 举报
回复
在数据库端执行存储过程有问题么

如果没有,那就是你的前台参数传入的地方有问题
icedut 2006-11-22
  • 打赏
  • 举报
回复
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的值
joinsearch 2006-11-22
  • 打赏
  • 举报
回复
自增的字段要在insert语句的前面加入一个序列。

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧