学习啦>知识大全>知识百科>百科知识>

oracle游标是什么

时间: 欧东艳656 分享

  游标(cursor)是系统为用户开设的一个数据缓冲区,存放SQL语句的执行结果。每个游标区都有一个名字,用户可以用SQL语句逐一从游标中获取记录,并赋给主变量,交由主语言进一步处理。种类编辑

  MS SQL SERVER 支持三种类型的游标:Transact_SQL 游标,API服务器游标和客户游标。

  (1)Transact_SQL 游标

  Transact_SQL 游标是由DECLARE CURSOR 语法定义、主要用在Transact_SQL脚本、存储过程和触发器中。Transact_SQL 游标主要用在服务器上,由从客户端发送给服务器的Transact_SQL 语句或是批处理、存储过程、触发器中的Transact_SQL 进行管理。 Transact_SQL 游标不支持提取数据块或多行数据。

  (2)API游标

  API 游标支持在OLE DB, ODBC 以及DB_library 中使用游标函数,主要用在服务器上。每一次客户端应用程序调用API 游标函数,MS SQL SEVER 的OLE DB 提供者、ODBC驱动器或DB_library 的动态链接库(DLL) 都会将这些客户请求传送给服务器以对API游标进行处理。

  (3)客户游标

  客户游标主要是当在客户机上缓存结果集时才使用。在客户游标中,有一个缺省的结果集被用来在客户机上缓存整个结果集。客户游标仅支持静态游标而非动态游标。由于服务器游标并不支持所有的Transact-SQL语句或批处理,所以客户游标常常仅被用作服务器游标的辅助。因为在一般情况下,服务器游标能支持绝大多数的游标操作。由于API 游标和Transact-SQL 游标使用在服务器端,所以被称为服务器游标,也被称为后台游标,而客户端游标被称为前台游标。

  使用示例
(1)

  create proc cursorTest

  @_id int=0,

  @_name varchar(50)=''

  as--创建游标

  declare @cursor cursor--设定游标欲操作的数据集

  set @cursor=cursor for

  select _id,_name from users

  open @cursor--打开游标

  fetch next from @cursor into @_id,@_name--移动游标指向到第一条数据,提取第一条数据存放在变量中

  while(@@fetch_status=0)begin--如果上一次操作成功则继续循环

  print @_name--操作提出的数据

  fetch next from @cursor into @_id,@_name--继续提下一行

  end

  close @cursor--关闭游标

  deallocate @cursor--删除游标

oracle游标是什么

游标(cursor)是系统为用户开设的一个数据缓冲区,存放SQL语句的执行结果。每个游标区都有一个名字,用户可以用SQL语句逐一从游标中获取记录,并赋给主变量,交由主语言进一步处理。种类编辑 MS SQL SERVER 支持三种类型的游标:Transact_
推荐度:
点击下载文档文档为doc格式
246240