--varchar不加长度,默认为varchar(1)
declare @id int, @latitude varchar(20), @longitude varchar(20), @nozonetimes bigint, @devicestatus int, @deviceid varchar(50)
declare @sql varchar(1000)
--创建游标
declare getwplist cursor for select dp.id,dp.Latitude,dp.longitude,dp.nozonetimes,dp.Devicestatus,dp.Deviceid from DevicePoint dp
--开启游标
open getwplist
--读取数据并赋值
fetch NEXT FROM getwplist into @id,@latitude,@longitude,@nozonetimes,@devicestatus,@deviceid
--开始事务
begin TRANSACTION
-- 表示遇到错误立即回滚
SET XACT_ABORT ON
--游标读取下一条数据是否成功
WHILE @@FETCH_STATUS = 0
BEGIN
--print 'id='+ cast(@id as varchar)
select @sql = 'select * from tt where times <= '+ cast(@nozonetimes as varchar)
execute(@sql)
fetch NEXT FROM getwplist into @id,@latitude,@longitude,@nozonetimes,@devicestatus,@deviceid
END
IF @@error <> 0 --发生错误
BEGIN
ROLLBACK TRANSACTION
END
ELSE
BEGIN
COMMIT TRANSACTION
END
close getwplist
DEALLOCATE getwplist
...
SQL遍历表格数据
最新推荐文章于 2025-03-20 22:28:11 发布