请问如何循环日期执行存储过程?

lbeast 2012-04-12 11:11:02
SQLserver2000有个存储过程是将每天A表和B表....里的新增数据汇总计算写入到X表中,请问现在想把去年6月份开始的数据全部写入到x表中,应该怎么做?谢谢!
...全文
503 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
prcak47 2012-04-12
  • 打赏
  • 举报
回复



---定义开始和结束时间
declare @st_dt datetime
declare @en_dt datetime
---时间赋值
select @st_dt = '20110601'
select @en_dt = '20110630'

---定义中间变量
declare @dt datetime
select @dt = @st_dt

---开始按照时间循环执行
while @dt <= @en_dt
begin
---这个是个演示,可以替换为需要执行的存储过程
select @dt
---中间变量加1
select @dt = DATEADD(DAY,1,@dt)
end
simonxt 2012-04-12
  • 打赏
  • 举报
回复
可以先循环得出日期的表,然后再计算每天的值

;with t as(
select dt=cast('2011-6-1' as datetime)
union all
select dt = dateadd(day, 1, t.dt) from t
where day(t.dt)<30
)
select * from t
satanail 2012-04-12
  • 打赏
  • 举报
回复
单独把存储过程提出来~修改里面的时间值,
话说你x表没有约束吗?已经存在的数据你又倒一遍?
  • 打赏
  • 举报
回复
你A,B表里面有时间字段吗?
有的话就直接通过这个字段把那些数据选出来,然后再插入

[Quote=引用楼主 的回复:]
SQLserver2000有个存储过程是将每天A表和B表....里的新增数据汇总计算写入到X表中,请问现在想把去年6月份开始的数据全部写入到x表中,应该怎么做?谢谢!
[/Quote]

34,588

社区成员

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

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