您的位置:首页 > 数据库

SQL遍历表格数据

2016-12-06 16:57 387 查看
--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
...
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: