栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

SQL 编程 游标

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SQL 编程 游标

游标:游标实际上是一种能从包括多条数据记录的结果集中每次提取一条记录的机制

游标把作为面向集合的数据库管理系统和面向行的程序设计两者联系起来,使两个数据处理方式能够进行沟通

游标种类:

Transact_SQL 游标

  由DECLARE CURSOR 语法定义主要用在Transact_SQL 脚本,存储过程和触发器中

API 游标

  支持在OLE DB ODBC 以及DB_library 中使用游标函数,主要用在服务器上。

客户游标

  主要是当在客户机上缓存结果集时才使用

使用游标:

 声明游标;

declare cursor_name

[insensitive] [scroll] cursor for select_statement [for {read only | update [ of column_name [ ,...n] ] }]

打开游标

open {cursor_name | cursor_variable_name}

提取数据

FETCH  [ [ NEXT | PRIOR | FIRST | LAST

         | ABSOLUTE { n | @nvar }

         | RELATIVE { n | @nvar }

       ]

 FROM

       ]

{  cursor_name | @cursor_variable_name }

[ INTO @variable_name [,...n ] ]

使用@@FETCH_STATUS全局变量判断数据提取状态

返回值是“0”表示FETCH语句成功,”-1“表示失败或此行不在结果中。”-2“表示被提取的行不存在

关闭游标:

CLOSE {  cursor_name | 

      cursor_variable_name }

在使用 CLOSE 语句关闭某游标后,系统并没有完全释放游标的资源,并且也没有改变游标的定义,当再次使用 OPEN 语句时可以重新打开此游标。 释放游标:

   DEALLOCATE {  cursor_name |   cursor_variable_name }

释放游标就释放了与该游标有关的一切资源,包括游标的声明,以后就不能再使用OPEN语句打开此游标了

使用set语句将游标复制给游标变量

 declare @cui_ta cursor                       

declare sc_curscroll cursor                       

for

select * from sc

set @cui_ta = sc_curscroll                         

例子1:从学生表(student)中,声明一个姓”易“的学生的游标

declare sname_cursor cursor for

select sname from student

where sname like '易%'

order by sname

open sname_cursor

 

fetch next from sname_cursor                             

while @@fetch_status = 0

begin

        .......处理从游标中提取的数据

        fetch next from sname_cursor

end

close sname_cursor

deallocate sname_cursor

go

例二:
declare @sname char(10),@sgrade smallint

declare stu_cursor cursor for

select sname,sno from student

open stu_cursor

fetch next from stu_cursor into @sname,@sgrade

while @@fetch_status = 0

begin

print 'sname:'+@sname+' sgrade'+cast(@sgrade as varchar(4))

fetch next from stu_cursor into @sname,@sgrade

end

close stu_cursor

deallocate stu_cursor

go

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/941277.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号