Sql Server

       1.声明游标
            DECLARE 游标名 CURSOR SELECT语句(注:此处一定是SELECT语句)
        2.打开游标
           OPEN 游标名

       3.读取游标数据 

    FETCH NEXT FROM PaperPolicy_Cursor INTO @SubjectID,@LoreID,@TestTypeID

       WHILE(@@FETCH_STATUS = 0)
                         BEGIN
                         --要执行的SQL语句
                         FETCH NEXT FROM 游标名
                         END

开启游标之后,默认是位于第一行的前面,因此需要FETCH NEXT(即第一行),WHILE循环是判断是否有数据,如果有,则执行BEGIN中的语句。注意在执行语句后面添加FETCH NEXT..,使游标跳至下一条数据,否则会不停的循环执行第一条语句。
            其中:Next表示返回结果集中当前行的下一行记录,如果第一次读取则返回第一行。默认的读取选项为Next
             Prior表示返回结果集中当前行的前一行记录,如果第一次读取则没有行返回,并且把游标置于第一行之前。
             First表示返回结果集中的第一行,并且将其作为当前行。
             Last表示返回结果集中的最后一行,并且将其作为当前行。
             Absolute n 如果n为正数,则返回从游标头开始的第n行,并且返回行变成新的当前行。如果n为负,则返回从游标末尾开始的第n行,并且返回行为新的当前行,如果n为0,则返回当前行。
             Relative n 如果n为正数,则返回从当前行开始的第n行,如果n为负,则返回从当前行之前的第n行,如果为0,则返回当前行。
           4.关闭游标
                CLOSE 游标名。关闭后不能对游标进行读取等操作,但可以使用OPEN语句再次打开
           5.释放游标
                DEALLOCATE 游标名。即删除游标,不可再使用

原文地址:https://www.cnblogs.com/dragon-L/p/4402521.html