SQL技巧之游标(sql游标怎么用)

游标概念

游标实际上是一种能从包括多条数据记录的结果集中每次提取一条记录的机制。游标充当指针的作用,尽管游标能遍历结果集中的所有行,但他一次只能指向一行。

游标操作

游标操作一般分为四步:

  1. 声明游标
  2. 打开游标
  3. 提取数据
  4. 关闭释放游标
  • 示例
--1.创建一个游标
DECLARE my_cursor CURSOR FOR                         --my_cursor 为定义游标名称
SELECT code,name FROM dbo.zy_bill_item			--这是游标my_cursor的值,根据业务决定T-SQL语句

--2.打开游标
OPEN my_cursor

--声明变量
DECLARE @code  VARCHAR(10)
DECLARE @name VARCHAR(20)

--3.循环游标提取数据
FETCH NEXT FROM my_cursor INTO @code,@name       --获取my_cursor数据放入@code和@name中
WHILE @@FETCH_STATUS=0                                          --@@FETCH_STATUS全局变量(0成功,-1失败或不在结果集,-2提取行不存在)
BEGIN
	PRINT @code
	PRINT @name
	SELECT * FROM  dbo.zy_bill_item WHERE code=@code
	FETCH NEXT FROM my_cursor INTO @code,@name
END

--4.关闭释放游标
CLOSE my_cursor
DEALLOCATE my_cursor

游标用途

一般复杂的存储过程,都会有游标的出现,他的用处主要有:

  1. 定位到结果集中的某一行。
  2. 对当前位置的数据进行读写。
  3. 可以对结果集中的数据单独操作,而不是整行执行相同的操作。
  4. 是面向集合的数据库管理系统和面向行业的程序设计之间的桥梁。
原文链接:,转发请注明来源!