--临时测试表
CREATE TABLE #temp
(
id INT,name VARCHAR(100)
)
GO
--测试数据
INSERT INTO #temp
SELECT 1,'xiaoming'
UNION ALL
SELECT 2,'wangsan'
UNION ALL
SELECT 3,'lisi'
UNION ALL
SELECT 4,'liming'
GO

--SET NOCOUNT ON;--消息内容,不显示影响行数
--SELECT * FROM #temp
--GO

--游标的作用是:将一个表数据,逐行逐行读取,你可以针对每一行数据进行特殊处理

--游标当前指向行的值
DECLARE @id INT,@name VARCHAR(100)

--游标
DECLARE cursor_name CURSOR FOR SELECT id,name FROM #temp
OPEN cursor_name --开始游标
FETCH NEXT FROM cursor_name INTO @id,@name--指针下移
WHILE @@FETCH_STATUS=0--未执行结束
BEGIN
--事务处理模块BEGIN





PRINT '游标下移一行: id='+CONVERT(VARCHAR(100),@id)+' name='+@name




--事务处理模块END
FETCH NEXT FROM cursor_name INTO @id,@name--指针下移
END
close cursor_name--关闭游标
deallocate cursor_name--释放游标
GO



DROP TABLE #temp
GO