您的位置:首页 > 数据库

SQLSERVER 游标语法及使用说明

2017-08-09 09:30 417 查看
--临时测试表
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: