IF OBJECT_ID('Proc_SP_Cursor_Test','P') IS NOT NULL
DROP PROC Proc_SP_Cursor_Test
GO
-- =============================================
-- Author:BruceYang
-- Create date: 2019-05-23
-- Desc: 游标使用方法
-- =============================================
Create proc Proc_SP_Cursor_Test(@TestName NVARCHAR(100))
as
--申明一个游标
DECLARE MyCursor CURSOR
FOR SELECT 1 AS Contractrecalculateid,2 AS Contractid
--打开一个游标
OPEN MyCursor
--循环一个游标
DECLARE @Contractrecalculateid INT,@Contractid INT
FETCH NEXT FROM MyCursor INTO @Contractrecalculateid,@Contractid
WHILE @@FETCH_STATUS =0 --//如果上一次操作成功则继续循环
BEGIN
--脚本需要执行修改处
PRINT '测试'+CAST(@Contractid AS NVARCHAR(100))
FETCH NEXT FROM MyCursor INTO @Contractrecalculateid,@Contractid
END
--关闭游标
CLOSE MyCursor
--释放资源
DEALLOCATE MyCursor
/* 测试
exec Proc_SP_Cursor_Test '测试'
*/
GO