用顺口溜快速记忆SQL游标的使用方法

SQL中的游标在处理一些需要循环处理的逻辑时很有用处,但是由于使用频率相对较低,经常会忘记使用方法,每用一次就要Google一次,很有挫败感。于是下定决心要记在脑海了,于是就想到编写一个顺口溜“口诀”。

游标原理

游标原理可以概括为将SQL查询结果填入Cursor类型,Cursor类型可以看成是一个临时表。然后通过循环一条一条的读到变量中进行中处理。
游标使用的“口诀”
声明cursor要靠for
for的后面是SQL
定义好后要open
然后变量来存储

先从(from)cursor取(fetch)一个
取后装到变量里
while循环来帮忙
逻辑要在whlie里
用完一个下一个
@@fetch_status来截止

用完之后要关闭
关闭之后要清除
按口诀编写示例
--声明对应declare,注意cursor变量不带@
declare cs_demo cursor  for
--for后面放查询语句,根据具体需要自由发挥
select id,[name] from master.dbo.sysobjects where [type]='U'
--定义完成打开cursor
open cs_demo
--定义变量才存储:用几个字段就查询几个字段,相应定义几个变量
declare @ID int,@Name varchar(100)
--取第一个
fetch next from cs_demo into @ID,@Name
--循环遍历处理逻辑
while @@fetch_status=0
	begin
	--这里是具体处理逻辑
	print str(@ID)+ '->' + @Name
	--用完一个下一个
	fetch next from cs_demo into @ID,@Name
	end
--关闭和销毁
close cs_demo
deallocate cs_demo

版权声明:本文为ETZRP原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。