日期:2014-05-19  浏览次数:20426 次

下面的这段存储过程怎么写才正确?
SPWDD_LOAD_TO_DTeDinfo   接收3个参数(用户名ID,开始时间,结束时间,周编号)
功能是更新用户的业绩信息,该存储过程执行正确

我有一张用户表,里面有100条数据,想实现100条数据进行更新,不想一条一条写,太麻烦了
这样写不行的,
exec   SPWDD_LOAD_TO_DTeDinfo  
(select   userID   from   UserInfo),
@begindate,
@enddate,
@weekid

只想用存储过程完成,求高人解决下,怎么写才能实现该功能

------解决方案--------------------
userid不是INT,那你就把这个变量定义成VARCHAR不就行了,对于字符串也可以用MIN()呀!

declare @min_userid varchar(20)
select @min_userid=min(userid) from userinfo
while @@rowcount> 0
begin
exec SPWDD_LOAD_TO_DTeDinfo min_userID,@begindate,@enddate,@weekid
select @min_userid=min(userid) from userinfo where userid> @min_userid
end