sqlserver简单游标使用

在这里插入图片描述
这个是一个简单的user表叫my_user

以下代码及注释

注:‘–’为注释

--创建一个游标
declare my_cursor cursor for     --my_cursor为游标的名称,随便起
select id,name from my_user      --这是游标my_cursor的值,这里随便发挥看业务场景
--打开游标
open my_cursor                  --没什么好说的
--变量
declare   @id int               --声明变量  ‘declare’为声明变量 ‘@name’为变量名称 后面为变量类型
declare   @name varchar(50)     --这里是两个变量用来接收游标的值
--循环游标
fetch next from my_cursor into @id,@name  --获取my_cursor的下一条数据,其中为两个字段分别赋值给@id,@name
while @@FETCH_STATUS=0 --假如检索到了数据继续执行
begin
print(@name) --print()打印变量 随便发挥
select * from my_user where id=@id --这里是具体业务了,随便发挥。而我这是又执行了一次查询 
fetch next from my_cursor into @id,@name --获取下一条数据并赋值给变量
end--关闭释放游标
close my_cursor
deallocate my_cursor

以下为上面sql执行结果。

以下为一些基本操作扩展

--一个表变量(临时表)
declare @table table
(
id int,
name varchar(50)
)
--一个字段变量
declare @name varchar(50)
--给表变量赋值(字段必须与临时表的字段一一对应)
insert @table
select id,name from my_user
--查这个临时表
select * from @table
--给字段变量赋值 
set @name = '这是赋值的'
--或这样赋值
select @name = name from my_user where id =1
 
union all --(两个查询结果链接起来)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值