SQLSERVER 游标

1、简单的游标

declare m_cursor cursor scroll for
select Address,PeopleId from PeopleDetail

open m_cursor
declare @Address varchar(50), @PeopleId int

fetch next from m_cursor into @Address,@PeopleId
while @@FETCH_STATUS=0
begin
print @Address + convert(varchar(3), @PeopleId)
fetch next from m_cursor into @Address,@PeopleId
end

close m_cursor
deallocate m_cursor


2、更新游标

-- 定义游标
declare m_cursor cursor scroll for
select a.Id,b.Address from People a left join PeopleDetail b on a.Id=b.PeopleId
for update
-- 打开游标
open m_cursor
declare @Address varchar(50), @Id int
--填充数据
fetch next from m_cursor into @Id,@Address
--假如检索到了数据,才处理
while @@FETCH_STATUS=0
begin
update People set Address=@Address where current of m_cursor
--填充下一条数据
fetch next from m_cursor into @Id,@Address
end
-- 关闭游标
close m_cursor
--释放游标
deallocate m_cursor

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值