SqlServer 游标的使用


如果需要对查询到的结果集的每条记录进行操作,那么最方便就是使用游标来操作了

写法:

DECLARE @变量1 nvarchar(36)
DECLARE @变量2 nvarchar(10)
DECLARE CUR_TEST CURSOR LOCAL SCROLL FOR --定义游标
        SELECT 字段1 ,字段2 FROM 表名 --结果集
        OPEN CUR_TEST  --打开游标
        FETCH NEXT FROM CUR_TEST --开始遍历游标,将结果集的每一行赋值到变量中
                     INTO @变量1
                         ,@变量2
        WHILE(@@FETCH_STATUS <> -1)  --返回被 FETCH  语句执行的最后游标的状态,而不是任何当前被连接打开的游标的状态。
        BEGIN
            PRINT(@变量1+'---'+@变量2) --对结果集的每一行数据进行操作

            FETCH NEXT FROM CUR_TEST
                            INTO @变量1
                         ,@变量2
        END
        CLOSE CUR_TEST --关闭游标
        DEALLOCATE CUR_TEST --释放游标