当前位置:Gxlcms > 数据库问题 > SQL Cursor(游标)

SQL Cursor(游标)

时间:2021-07-01 10:21:17 帮助过:4人阅读

 尽量不要在大量数据上定义游标,尽量不要使用游标上更新数据

Cursor:Global for--全局游标

Cursor:Local for--局部游标

LOCAL意味着游标的生存周期只在批处理或函数或存储过程中可见

GLOBAL意味着游标对于特定连接作为上下文,全局内有效

--第一步:声明游标
declare test_Cursor Cursor scroll for
select name  from dbo.aa
open test_Cursor--打开游标
--第二遍执行
declare @name nvarchar(1000)
fetch next from test_Cursor into @name--下一行
select @name
--第三遍关闭清空游标
CLOSE test_Cursor--关闭
DEALLOCATE test_Cursor--清空
/*只有支持6种移动选项,分别为到第一行(FIRST),
  最后一行(LAST),下一行(NEXT),上一行(PRIOR),
  直接跳到某行(ABSOLUTE(n)),
  相对于目前跳几行(RELATIVE(3))*/

通过游标循环数据

declare test_Cursor Cursor scroll for
select id,materialName from dbo.table_1

open test_Cursor
declare @c nvarchar(10)
declare @name nvarchar(1000)

while @@FETCH_STATUS=0
begin
fetch next from test_Cursor into @c,@name
select @c,@name
end
--最后执行
CLOSE test_Cursor
DEALLOCATE test_Cursor

  

SQL Cursor(游标)

标签:

人气教程排行