游标定义
待考证
--开始事务
BEGIN TRAN
--不显示计数信息
SET NOCOUNT ON
DECLARE @UserID int
--声明游标
DECLARE CRMPSContact_cursor CURSOR FOR
SELECT userid FROM USERINFO
--打开游标
OPEN CRMPSContact_cursor
--取第一行的值给变量
FETCH NEXT FROM CRMPSContact_cursor
INTO @UserID
--执行语句
select @UserID = userid
from USERINFO
where userid = @UserID
--insert into CHECKINOUT (userid,checktime,sensorid) values (@userid,getdate(),'1')
select @UserID
--执行错误回滚
if @@error!=0
begin
rollback tran
return
end
--移动游标,其它所有行更新操作(当到结尾时退出)
WHILE @@FETCH_STATUS = 0
BEGIN
--游标移到下一行
FETCH NEXT FROM CRMPSContact_cursor
INTO @UserID
--执行语句,从第二行开始
select @UserID = userid
from USERINFO
where userid = @UserID
--insert into CHECKINOUT (userid,checktime,sensorid) values (@userid,getdate(),'1')
select @UserID
--执行错误回滚
if @@error!=0
begin
rollback tran
return
end
END
--关闭游标
CLOSE CRMPSContact_cursor
--释放游标
DEALLOCATE CRMPSContact_cursor
--提交所有变更
COMMIT TRAN
--恢复设置
SET NOCOUNT OFF