--游標修改資料
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
游標的簡單應用
使用游標前資料 declare loginid varchar 50 declare loginpass varchar 50 declare cursor1 cursor for 定義游標cursor1 select loginid,loginpassword from users where l...
MSSQL 游標的使用
與windows或dos的 游標 不同,ms sql的游標是一種臨時的資料庫物件,既對可用來旋轉儲存在系統永久表中的資料行的副本,也可以指向儲存在系統永久表中的資料行的指標。游標為您提供了在逐行的基礎上而不是一次處理整個結果集為基礎的操作表中資料的方法。1 如何使用游標 1 定義游標語句 decla...
MS SQL游標的使用及理解
與windows或dos的 游標 不同,ms sql的游標是一種臨時的資料庫物件,既對可用來旋轉儲存在系統永久表中的資料行的副本,也可以指向儲存在系統永久表中的資料行的指標。游標為您提供了在逐行的基礎上而不是一次處理整個結果集為基礎的操作表中資料的方法。1 如何使用游標 1 定義游標語句 decla...