谁帮忙看看这段存储过程

mrpeterchen 2010-06-04 03:00:59
create procedure dataadd3

begin
declare hou integer default 15;
declare min integer default 10;
declare sec integer default 20;
declare cur varchar(3) default '446';
declare cardno varchar(13) default '6225087600981';
declare cardseq integer default 90001;
declare i integer default 0;
declare systra integer default 1000;
declare tots varchar(26) default '';
declare time integer default 100001;


while i<3000 do

set tots = '2010-06-04 14:40:10.'||CHAR(time);

update AR_DTCDB.TBL_ARDTC_CUPS_TRANS_COLLECT1
set TO_TS = tots,
acpt_ins_cntry_cd = cur,
sys_tra_no = '09'||CHAR(systra),
AR_PRI_ACCT_NO = cardno||CHAR(cardseq)
where to_ts = '2010-07-01 11:15:10.000000';

set sec = sec+1;
set i = i+1;
set systra = systra+1;
set time = time+1;

end while;

end;



×××××××××××××××××××××××××××××××××××××××××××××××
问题:
set sec = sec+1;
set i = i+1;
set systra = systra+1;
set time = time+1;
这几句没起作用,UPDATE后,检查了所有,值都一样。。。。

我是想没改1行自加1的
...全文
43 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zdp303 2010-06-09
  • 打赏
  • 举报
回复
同意一楼的,你没有继续执行语句,一出错就跳出循环了。
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION
zhaojianmi1 2010-06-05
  • 打赏
  • 举报
回复
一楼兄弟说得对
WWWWA 2010-06-04
  • 打赏
  • 举报
回复
检查一下变量在SP的值是否变化
王帆 2010-06-04
  • 打赏
  • 举报
回复
这个你可以在几个set中间加上insert语句,到日志表,看看效果就可以了,另外,存储过程结束时请commit。

5,889

社区成员

发帖
与我相关
我的任务
社区描述
IBM DB2 是美国IBM公司开发的一套关系型数据库管理系统,它主要的运行环境为UNIX(包括IBM自家的AIX)、Linux、IBM i(旧称OS/400)、z/OS,以及Windows服务器版本
社区管理员
  • DB2
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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