SQL 您所在的位置:网站首页 sqlserver定义游标 SQL

SQL

2023-03-16 12:02| 来源: 网络整理| 查看: 265

SQL SERVER

游标详解

 

 

游标和游标的优点

 

    

在数据库中,

游标是一个十分重要的概念。

游标提供了一种对从表中检索出的数据进行操作的灵活手段,

就本质而言,游标实际上是一种能从包括多条数据记录的结果集中每次提取一条记录的机制。游标总是与

一条

T_SQL 

选择语句相关联因为游标由结果集(可以是零条、一条或由相关的选择语句检索出的多条记

录)和结果集中指向特定记录的游标位置组成。当决定对结果集进行处理时,必须声明一个指向该结果集

的游标。如果曾经用

 

语言写过对文件进行处理的程序,那么游标就像您打开文件所得到的文件句柄一

样,只要文件打开成功,该文件句柄就可代表该文件。对于游标而言,其道理是相同的。可见游标能够实

现按与传统程序读取平面文件类似的方式处理来自基础表的结果集,从而把表中数据以平面文件的形式呈

现给程序。

 

    

我们知道关系数据库管理系统实质是面向集合的,在

MS 

SQL 

SERVER 

中并没有一种描述表中单一记

录的表达形式,

除非使用

where 

子句来限制只有一条记录被选中。

因此我们必须借助于游标来进行面向单

条记录的数据处理。

 

    

由此可见,

游标允许应用程序对查询语句

select 

返回的行结果集中每一行进行相同或不同的操作,

而不

是一次对整个结果集进行同一种操作;它还提供对基于游标位置而对表中数据进行删除或更新的能力;而

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

能够进行沟通。

 

  

游标种类

 

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.DECLARE 

游标

 

2.OPEN 

游标

 

3.

从一个游标中

FETCH 

信息

 

4.CLOSE 

DEALLOCA

TE 

游标

 

通常我们使用

DECLARE 

来声明一个游标声明一个游标主要包括以下主要内容:

 

 

游标名字

 

 

数据来源(表和列)

 

 

选取条件

 

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有