`

表函数与游标

 
阅读更多
--建立数据源
create table tb1(zm char(8),sd datetime,ed datetime)
 GO
 insert into tb1 values('s1','1980-1-1','1980-2-1') 
 insert into tb1 values('s2','1992-2-1','1993-3-1') 
 GO 
 --建立测试数据
 declare zm_cursor cursor fast_forward for select zm from tb1 
 declare @t1 datetime,@t2 datetime,@zm char(8) declare @tb table(zm   char(8),d datetime) 
 open zm_cursor 
 fetch next from zm_cursor into @zm 
 while @@fetch_status=0 
 begin 
 select @t1=sd,@t2=ed from tb1 where zm=@zm 
  while @t1<=@t2
   begin 
   	insert into @tb values(@zm,@t1) 
   	set @t1=dateadd(day,1,@t1)
   END
  fetch next from zm_cursor into @zm
 end 
 select * from @tb 
 close zm_cursor
 deallocate zm_cursor
 GO 
 DROP TABLE tb1
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics