sql server中for循环的应用总结

本文详细介绍了在SQL Server中使用游标实现for循环的方法,通过实例展示了如何遍历数据并进行操作,包括游标的声明、打开、读取、处理及关闭过程。

sql server中for循环的应用

每个公司都有不同的数据库,最近用sql server时,正想使用游标for循环时,发现sqlserver并没有像Oracle那样的for循环,查阅了相关资料,以下是sql server的实现方式


declare @id  int,@name varchar(20),@lass varchar(20)
declare student_cursor cursor
for(select id ,name ,class from student)
open student_cursor
fetch next from student_cursor into @id ,@name,@lass
while @@FETCH_STATUS=0
begin 
insert into #temp 
select * from student where id=@id
fetch next from student_cursor into @id ,@name,@lass
end
close student_cursor
deallocate student_cursor

首先定义该游标,这个大家都懂

declare student_cursor cursor
for(select id ,name ,class from student)

然后打开游标,把游标值插入变量中

open student_cursor
fetch next from student_cursor into @id ,@name,@lass

然后用while循环和 @@FETCH_STATUS全局变量来判断游标的状态

while @@FETCH_STATUS=0

@@fetch_status有以下三种,分别表示三种不同含义:【返回类型integer】
  - 0 FETCH 语句成功
  -1 FETCH 语句失败或此行不在结果集中
  -2 被提取的行不存在
因此,返回0则继续循环

然后,进入到程序主体部分

begin 
insert into #temp 
select * from student where id=@id
fetch next from student_cursor into @id ,@name,@lass
end

其中记得要,要把下个游标值赋予变量,不然会出现死循环

fetch next from student_cursor into @id ,@name,@lass

最后,记得关闭游标和释放游标

close student_cursor
deallocate student_cursor
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值