--游标修改数据
declare alarm_cursor cursor global SCROLL for
select lsc_id,station_id,alarm_time,clear_time,start_time,end_time from #tmpTelemetertwoday
open alarm_cursor
--声明变量
declare @lsc_id int
declare @station_id int
declare @alarm_time datetime
declare @clear_time datetime
declare @start_time datetime
declare @end_time datetime
--取下一条数据源
fetch next from alarm_cursor into @lsc_id,@station_id,@alarm_time,@clear_time,@start_time,@end_time
----循环@@Fetch_STATUS=0
while @@Fetch_STATUS=0
begin
--停电开始时间早于查询时间,全部等于查询开始时间
if(@alarm_time<@ts )
begin
set @alarm_time=@ts
end
--停电结束时间晚查询时间,全部等于查询结束时间
if(@clear_time>@te )
begin
set @clear_time=@te
end
--油机开始时间早于查询时间,全部等于查询开始时间
if(@start_time<@ts )
begin
set @start_time=@ts
end
--油机结束时间晚查询时间,全部等于查询结束时间
if(@end_time>@te )
begin
set @end_time=@te
end
--把符合条件的数据插入到另一张临时表
insert into #tmpTelemetertwodaytwo (lsc_id,station_id,alarm_time,clear_time,start_time,end_time) values(@lsc_id,@station_id,@alarm_time,@clear_time,@start_time,@end_time )
--取下一条数据源
fetch next from alarm_cursor into @lsc_id,@station_id,@alarm_time,@clear_time,@start_time,@end_time
end
--关闭游标
close alarm_cursor
deallocate alarm_cursor
mssql游标的简单应用
最新推荐文章于 2018-06-29 10:00:07 发布