文章目录
一. 游标的使用流程
1. 执行流程
- 声明一个游标
DECLARE MyCursor CURSOR
FOR SELECT * FROM TABLE_NAME
- 打开一个游标
OPEN MyCursor//即打开这个数据集
- 循环一个游标
DECLARE @id nvarchar(20),@name nvarchar(20)
FETCH NEXT FROM MyCursor INTO @id,@name//移动游标指向到第一条数据,提取第一条数据存放在变量中
WHILE @@FETCH_STATUS =0//如果上一次操作成功则继续循环
BEGIN
print ‘name’+@name
FETCH NEXT FROM MyCursor INTO @BookName,@BookCoding//继续提下一行
END
- 关闭一个游标
CLOSE MyCursor
- 释放资源
DEALLOCATE MyCursor
2. 完整测试代码
create table tb_a
(
id varchar (20),
name varchar (20)
)
insert into tb_a select 1,'jack'
insert into tb_a select 2,'join'
insert into tb_a select 3,'make'
declare mycursor cursor
for select * from tb_a
open mycursor
declare @id varchar(20), @name varchar(20)
fetch next from mycursor into @id, @name
while @@FETCH_STATUS=0
begin
select @id, @name
fetch next from mycursor into @id, @name
end
close mycursor
deallocate mycursor