几种游标的用法(游标的几种使用方法)

几种游标的用法(游标的几种使用方法),第1张

几种游标的用法游标的几种使用方法

几种游标的用法(游标的几种使用方法),游标的几种使用方法,第2张


使用游标变量赋值

use TestSchool

go

declare @varcursor Cursor --声明游标变量

declare cursor_Adress cursor for --创建游标

select Id,PCity ,Pcode from Adress;

open cursor_Adress; --打开游标

set @varcursor = cursor_Adress --为游标变量赋值

fetch next from @varcursor --从游标变量中读取值

while @@FETCH_STATUS = 0 --判断fetch 语句是否执行成功

begin

fetch ne百思特网xt from @varcursor --读取游标变量中的数据

end

close @varcursor --关闭游标

deallocate @varcursor --释放游标

结果:

几种游标的用法(游标的几种使用方法),游标的几种使用方法,第3张


用order by 子句改变游标中行的顺序

--用order by 子句改变游标中行的顺序

use TestSchool

go

declare Cursor_Order cursor for

select Id,PCity from Adress

order by Id desc

open Cursor_Order

fetch next from Cursor_Order

while @@FETCH_STATUS = 0

fetch next from Cursor_Order

close Cursor_Order

deallocate Cursor_Order;

结果:

几种游标的用法(游标的几种使用方法),游标的几种使用方法,第4张


使用游标百思特网修改数据

--使用游标修改数据
use TestSchool
select * from newtable
go 
declare @Cid int 
declare @Id int = 17
declare Cursor_Alter cursor for
select Cid from newtable ;
open Cursor_Alter 
fetch next from Cursor_Alter into @Cid
while @@FETCH_STATUS = 0 
begin
 if @Cid = @Id
 begin
 update newtable set CName = '025班' where Cid = @Id
	end
fetch next from Cursor_Alter into @Cid 
end
close Cursor_Alter
deallocate Cursor_Alter
select * from newtable where Cid = 17;

结果:

几种游标的用法(游标的几种使用方法),游标的几种使用方法,第5张


使用游标删除数据

--使用游标删除数据

use TestSchool

insert into newtable values (13 ,'022班 ')

sele百思特网ct * from newtable

go

declare @Cid int

declare @Id int = 13

declare Cursor_Delete cursor for

select Cid from newtable ;

open Cursor_Delete

fetch next from Cursor_Delete into @Cid

while @@FETCH_STATUS = 0

begin

if @Cid = @Id

begin

delete from newtable where Cid = @Id

end

fetch next from Cursor_Delete into @Cid

end

close Cursor_Delete

deallocate Cursor_Delete

select * from newtable

结果:

几种游标的用法(游标的几种使用方法),游标的几种使用方法,第6张


DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 几种游标的用法(游标的几种使用方法)

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情