mssql sqlserver 游标简介及优缺点


摘要:
下文主要讲述sqlserver中游标的功能及游标的优缺点说明


游标在sqlserver中,主要起到存储数据的作用,类似于程序编写中list对象,
每个游标,都在一组sql批处理中,拥有唯一的游标名称
将数据放入游标后,我们可以对数据进行遍历操作。
将数据放入游标,在sql脚本中,也达到了数据重用的目的,避免多次操作数据库。

在sqlserver数据库中,游标是一个非常重要的对象,
游标给我们编写代码带来很大的遍历性。
游标提供临时数据存储副本
游标是我们循环处理数据的一种方式
由于游标拥有循环功能,所以我们可以一行一行的处理数据

游标操作的基本语法结构



declare 变量1 数据类型,变量2 数据类型 ,变量3 数据类型,...... -----定义操作过程中使用的变量

declare 游标名 cursor for -----定义游标
select 字段1, row_number()over(order by id asc) %12 字段 2 -----通过row_number()函数对字段编号
from 表 where 条件


open 游标名 ------打开游标
fetch next from 游标名into 变量1,变量2 ------提取当前位置的下一行数据

while @@fetch_status = 0 -------提取成功,进行下一条数据的提取操作
begin

if @a >100
begin
set @a=@a+1
end

select 变量=字段 from 表 where 条件
update 表 set 字段= 变量 where 条件 -----操作内容

  fetch next from 游标名 into 变量1,变量2 -----移动游标
end

close 游标名 -----关闭游标
deallocate 游标名 -----释放游标