SQL 游标
数据库游标允许你选择一组数据,通过翻阅这组数据记录——通常被称为数据集,检查每一个游标所在的特定的行。
你可以将游标和局部变量组合在一起对每一个记录进行检查,当游标移动到下一个记录时,来执行一些外部操作。
游标的另一个常见的用法是:保存查询结果以备以后使用。一个游标结果集是通过执行SELECT 查询来建立的。如果你的应用程序或过程需要重复使用一组记录,那么第一次建立游标以后再重复使用,将会比多次执行查询快得多。
而且,你还能在查询的结果集中翻阅记录。
创建游标
Transcat-SQL创建游标语法如下:
SYNTAX:
declare cursor_name cursor
for select_statement
[for {read only | update [of column_name_list]}]例子:
declare myCursor cursor for select * from student go
现在,已经有了一个名字为myCursor的游标,它包括了所有的student表中的内容。
为了使用这个游标,你必须先打开它。SYNTAX:
打开游标
open cursor_name
例子:
open myCursor go现在,我们可以使用myCursor来翻阅结果集了。
使用游标
SYNTAX:
fetch cursor_name [into fetch_target_list]
每次当FETCH 命令运行时,游标指针每次可以在结果集中移动一行。如果需要,游标指针
所在的行的数据可以被填充到fetch_target_list 变量中。
例子:
declare @id char(11) declare @name char(10) declare @sex char(2) declare @age char(2) fetch myCursor into @id,@name,@sex,@age while(@@sqlstatus=0) begin print @id print @name print @sex print @age fetch myCursor into @id,@name,@sex,@age end go
关闭游标
SYNTAX:
close cursor_name
这时,游标只有再次打开后才能使用。
释放游标
如果你已经完全结束了对一个游标的使用,DEALLOCATE 命令将释放游标所占用
的内存,并且可以让游标的名字可以被再次使用。
这是该命令的语法格式:
SYNTAX:
deallocate cursor cursor_name

浙公网安备 33010602011771号