SQL SERVER中游标的使用

准备基础数据

CREATE TABLE [dbo].[person_info](
	[name_person] [varchar](32) NULL,
	[age] [int] NULL,
	[address] [varchar](128) NULL
) ON [PRIMARY]

insert into person_info values ('tom',20,'new york'),('john',23,'England')

建立游标进行每行遍历处理


declare @name varchar(50) -- 定义变量,存储游标返回的值
declare x cursor 
for 
select name_person from person_info -- 定义游标,游标的值从 person_info中取

open x --打开游标
fetch next from x into @name -- 获取游标的下一个
while @@FETCH_STATUS =0  -- - 0 FETCH 语句成功 -1 FETCH 语句失败或此行不在结果集中-2 被提取的行不存在
begin 
	print '姓名:'+@name
	fetch next from x into @name -- 转到下一行,否则出现死循环
end 
close x -- 关闭游标
deallocate x --释放游标

链接:一个比较详细的blog

posted @ 2022-11-20 15:39  李家的张麻子  阅读(110)  评论(0)    收藏  举报