请教在Cursor内更新表的问题

xuhaoumsl 2008-05-21 12:30:44
从@OrderPlanPauseTable 里面看得值是正确的 不知道为什么实际表中数据都被更新成了和一样的数据 不知道哪里写错了

Open OrderPlanPauseCursor
FETCH NEXT FROM OrderPlanPauseCursor INTO @iScheduledID,@iOrderPlanID,@ScheduledDate,@DeliveredCnt
WHILE (@@FETCH_STATUS=0)
BEGIN

if @DeliveredCnt=0
Set @NewDate=DATEADD(dd,@iPauseDays,@ScheduledDate)
else
Set @NewDate=@ScheduledDate

INSERT INTO @OrderPlanPauseTable VALUES(@iScheduledID,@iOrderPlanID,@ScheduledDate,@DeliveredCnt,@iPauseDays,@NewDate)

update dbo.aDeliverySchedule
set ScheduledDate=@NewDate

FETCH NEXT FROM OrderPlanPauseCursor INTO @iScheduledID,@iOrderPlanID,@ScheduledDate,@DeliveredCnt
END
CLOSE OrderPlanPauseCursor
DEALLOCATE OrderPlanPauseCursor
...全文
40 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
Limpire 2008-05-21
  • 打赏
  • 举报
回复
Open OrderPlanPauseCursor
FETCH NEXT FROM OrderPlanPauseCursor INTO @iScheduledID,@iOrderPlanID,@ScheduledDate,@DeliveredCnt
WHILE (@@FETCH_STATUS=0)
BEGIN

if @DeliveredCnt=0
Set @NewDate=DATEADD(dd,@iPauseDays,@ScheduledDate)
else
Set @NewDate=@ScheduledDate

INSERT INTO @OrderPlanPauseTable VALUES(@iScheduledID,@iOrderPlanID,@ScheduledDate,@DeliveredCnt,@iPauseDays,@NewDate)

update dbo.aDeliverySchedule
set ScheduledDate=@NewDate where current of OrderPlanPauseCursor

FETCH NEXT FROM OrderPlanPauseCursor INTO @iScheduledID,@iOrderPlanID,@ScheduledDate,@DeliveredCnt
END
CLOSE OrderPlanPauseCursor
DEALLOCATE OrderPlanPauseCursor

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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