游标是SQL Server的一种数据访问机制,它允许用户访问单独的数据行。用户可以对每一行进行单独的处理,从而降低系统开销和潜在的阻隔情况,用户也可以使用这些数据生成的SQL代码并立即执行或输出。
简单运用
具体代码如下
DECLARE @id VARCHAR(150),@no INT=0 DECLARE forfor CURSOR FOR --定义名称为 forfor 的游标 SELECT a.ID FROM dbo.LoginUser a WHERE a.UserCode LIKE '%9999%' --查询出想要的数据 OPEN forfor --打开游标 FETCH NEXT FROM forfor INTO @id --获取一条数据 并赋值给变量 WHILE @@FETCH_STATUS=0 --如果获取到了数据 则进行以下业务逻辑 BEGIN IF(@id%2=0) --用户id为偶数 BEGIN UPDATE dbo.LoginUser SET Remarks='偶用户' WHERE ID=@id --更新标识为 偶用户 SET @no+=@@ROWCOUNT; --计数改了多少行数据 END FETCH NEXT FROM forfor INTO @id --进行下一条数据获取 END SELECT @no AS '修改次数' --输出修改次数 CLOSE forfor --关闭游标 DEALLOCATE forfor --释放游标