日期:2014-05-17  浏览次数:20471 次

关于插入一段时间内数据的问题
有一个时间段 例如是 2013-05-01到2013-05-22 他们的内容都是XXXXX 如何把他们批量的插入表中  也就是插入 22条 内容为XXXXX切时间是5-1到5-22的记录。 存储过程应该怎么写。已知存储过程里传了开始时间,结束时间,内容这三个参数。 求大神们指教。

------解决方案--------------------
参考
declare @b datetime,@e datetime
set @b='2009-1-1'
set @e=dateadd(y,1,@b)
 
while @b<@e
begin
  insert tby values (@b,'....')
  set @b=@b+1
end

------解决方案--------------------

--日期差还要加1
create proc pro_a3
@state datetime,
@end datetime
as
declare @day int
set @day = datediff(day,@state,@end)
declare @i int
set @i=1
while @i<=@day+1
begin
--你的sql语句
--insert into a (smalldatetime) values('2012-5-5')
set @i=@i+1
end

go
exec pro_a3 '2013-05-01','2013-05-22'

------解决方案--------------------
http://blog.csdn.net/maco_wang/article/details/6279025用这里的函数,获取两个日期间的所有天数,然后进行运算