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

关系数据库中的操作会对整个行集起作用。由SELECT语句返回的行集包括满足该语句的 WHERE子句中条件的所有行。这种由语句返回的完整行集称为结果集。应用程序,特别是交互式联机应用程序,并不总能将整个结果集作为一个单元来有效地处理。这些应用程序需要一种机制以便每次处理一行或一部分行。游标就是提供这种机制的对结果集的一种扩展。

游标通过以下方式来扩展结果处理:

允许定位在结果集的特定行。

从结果集的当前位置检索一行或一部分行。

支持对结果集中当前位置的行进行数据修改。

为由其他用户对显示在结果集中的数据库数据所做的更改提供不同级别的可见性支持。

提供脚本、存储过程和触发器中用于访问结果集中的数据的Transact-SQL语句。

请求游标
MicrosoftSQL Server支持两种请求游标的方法:

Transact-SQL
Transact-SQL 语言支持在 ISO 游标语法之后制定的用于使用游标的语法。

数据库应用程序编程接口(API)游标函数

SQL Server 支持以下数据库 API 的游标功能:

ADO(Microsoft ActiveX 数据对象)

OLE DB

ODBC(开放式数据库连接)

应用程序不能混合使用这两种请求游标的方法。已经使用 API 指定游标行为的应用程序不能再执行 Transact-SQL DECLARE CURSOR 语句请求一个 Transact-SQL 游标。应用程序只有在将所有的 API 游标特性设置回默认值后,才可以执行 DECLARE CURSOR。

如果既未请求 Transact-SQL 游标也未请求 API 游标,则默认情况下 SQL Server 将向应用程序返回一个完整的结果集,这个结果集称为默认结果集。

游标进程

Transact-SQL游标和API游标有不同的语法,但下列一般进程适用于所有SQL Server游标:
1.将游标与 Transact-SQL语句的结果集相关联,并且定义该游标的特性,例如是否能够更新游标中的行。
2.执行 Transact-SQL语句以填充游标。
3.从游标中检索您想要查看的行。从游标中检索一行或一部分行的操作称为提取。执行一系列提取操作以便向前或向后检索行的操作称为滚动。
4.根据需要,对游标中当前位置的行执行修改操作(更新或删除)。
5.关闭游标。

原文出自:华军资讯

转载于:https://www.cnblogs.com/mixer/archive/2011/06/29/2448789.html

微软SQL Server数据库的两种请求游标相关推荐

  1. 连接sql server数据库的两种方式

    class DB     { private static SqlConnection conn; public static SqlConnection getConn() { //conn = n ...

  2. asp教程连接sql server数据库教程二种方法

    asp教程连接sql server数据库教程二种方法  ,sql server ole db连接方法:,本人链接sql2012已经成功,想可以帮助大家 本教程主要是讲了asp与mssql server ...

  3. 5. SQL Server数据库性能监控 - 当前请求

    5. SQL Server数据库性能监控 - 当前请求 原文:5. SQL Server数据库性能监控 - 当前请求 对于在线运行的系统,当前数据库性能监控,通常监视以下几点: (1) 是否有阻塞 ( ...

  4. SQL Server数据库的三种恢复模式:简单恢复模式、完整恢复模式和大容量日志恢复模式...

    SQL Server数据库的三种恢复模式:简单恢复模式.完整恢复模式和大容量日志恢复模式 这篇文章主要介绍了SQL Server数据库的三种恢复模式:简单恢复模式.完整恢复模式和大容量日志恢复模式,需 ...

  5. SQL Server数据库的三种恢复模式

    SQL Server数据库的三种恢复模式:简单恢复模式.完整恢复模式和大容量日志恢复模式. sql server数据库提供了三种恢复模式:完整,简单和大容量日志,这些模式决定了sql server如何 ...

  6. SQL Server数据库的三种恢复模式:简单恢复模式、完整恢复模式和大容量日志恢复模式

    这篇文章主要介绍了SQL Server数据库的三种恢复模式:简单恢复模式.完整恢复模式和大容量日志恢复模式,需要的朋友可以参考下 如何图形界面下修改恢复模式 找到你想修改的数据库 右键 > 属性 ...

  7. C# 连接SQL Server数据库的几种方式--server+data source等方式

    本文转载自忙碌的布谷鸟  如何使用Connection对象连接数据库? 对于不同的.NET数据提供者,ADO.NET采用不同的Connection对象连接数据库.这些Connection对象为我们屏蔽 ...

  8. Sql server 事务的两种用法

    事务(Transaction)是并发控制的单位,是用户定义的一个操作序列.这些操作要么都做,要么都不做,是一个不可分割的工作单位. 通过事务,SQL Server能将逻辑相关的一组操作绑定在一起,以便 ...

  9. [转]快速清除SQL Server日志的两种方法

    日志文件满而造成SQL数据库无法写入文件时,可用两种方法: 第一种方法:清空日志. 1.打开查询分析器,输入命令 以下是引用片段: DUMP TRANSACTION 数据库名 WITH NO_LOG ...

最新文章

  1. java启动无线网络连接_在无线模式存在的情况下,如何连接无线网络
  2. 全面降低windows系统的安全隐患 (五)
  3. SAP-SD计划行类别解析
  4. c++中创建渐变背景
  5. r型聚类典型指标_六种GAN评估指标的综合评估实验,迈向定量评估GAN的重要一步...
  6. DirectSound
  7. python 验证码test
  8. 使用SQL Server数据工具进行SQL单元测试
  9. python快速入门教程-Python 开发 14 天快速入门
  10. python能做什么工作-python能做哪方面的工作
  11. 支付宝弄了个“双12 ” 岛国民众都high了
  12. Mac 版 QQ 音乐上线离线提示音的方法?
  13. java设置随机数教程
  14. 【译】Vault 学习资源:1.0, 自动解印, 代理, Kubernetes
  15. Windows环境下安装JDK、JRE和环境变量配置,详细的图文教程
  16. Python 文本生僻字判定和拼音标注脚本
  17. 摄像头设计工程师面试技巧_系统设计面试准备的5个技巧
  18. 服务器系统浏览器打不开,电脑浏览器打不开解决方法
  19. TCP/IP详解卷一读书笔记一
  20. ERROR: Unable to find method 'com.android.build.gradle.api.BaseVariant.getOutputs()Ljava/util/List;'

热门文章

  1. bzoj千题计划197:bzoj4247: 挂饰
  2. 推荐一个Android Studio很实用的插件android-butterknife-zelezny
  3. BYS推荐MS前端PhoneCall面试问题整理-1
  4. 在网页中JS函数自动执行常用三种方法
  5. RTB撕开黑盒子 Part 1: Datacratic's RTB Algorithms
  6. [转]高效编程之欲擒故纵
  7. 四个使用this的典型应用
  8. js 调 CDHtmlDialog API
  9. 中小型互联网企业安全建设漫谈。
  10. R语言实战第一,二章SQL版