`

SQL Server教程:详细学习游标(二)

阅读更多

标准游标:


  Declare MyCursor Cursor
  For Select * From Master_Goods

  只读游标


  Declare MyCusror Cursor
  For Select * From Master_Goods
  For Read Only

  可更新游标


  Declare MyCusror Cursor
  For Select * From Master_Goods
  For UpDate

  打开游标使用Open语句用于打开Transaction-SQL服务器游标,执行Open语句的过程中就是按照Select语句进行填充数据,打开游标以后游标位置在第一行。

  打开游标

  全局游标:Open Global MyCursor

  局部游标: Open MyCursor

  读取游标数据:在打开游标以后,使用Fetch语句从Transaction-SQL服务器游标中检索特定的一行。使用Fetch操作,可以使游标移动到下一个记录,并将游标返回的每个列得数据分别赋值给声明的本地变量。


  Fetch [Next | Prior | First | Last | Absolute n | Relative n ] From MyCursor
  Into @GoodsID,@GoodsName

  其中:Next表示返回结果集中当前行的下一行记录,如果第一次读取则返回第一行。默认的读取选项为Next

  Prior表示返回结果集中当前行的前一行记录,如果第一次读取则没有行返回,并且把游标置于第一行之前。

  First表示返回结果集中的第一行,并且将其作为当前行。

  Last表示返回结果集中的最后一行,并且将其作为当前行。

  Absolute n 如果n为正数,则返回从游标头开始的第n行,并且返回行变成新的当前行。如果n为负,则返回从游标末尾开始的第n行,并且返回行为新的当前行,如果n为0,则返回当前行

Relative n 如果n为正数,则返回从当前行开始的第n行,如果n为负,则返回从当前行之前的第n行,如果为0,则返回当前行。

  关闭游标调用的是Close语句,方式如下:

 


 Close Global MyCursor Close MyCursor

  释放游标调用的是Deallocate语句,方法如下:


  Deallocate Glboal MyCursor Deallocate MyCursor

  游标实例:


  Declare MyCusror Cursor Scroll
  For Select * From Master_Goods Order By GoodsID
  Open MyCursor
  Fetch next From MyCursor
  Into @GoodsCode,@GoodsName
  While(@@Fetch_Status = 0)
  Begin
  Begin
  Select @GoodsCode = Convert(Char(20),@GoodsCode)
  Select @GoodsName = Convert(Char(20),@GoodsName)
  PRINT @GoodsCode + ':' + @GoodsName
  End
  Fetch next From MyCursor
  Into @GoodsCode,@GoodsName
  End
  Close MyCursor
  Deallocate MyCursor

  修改当前游标的数据方法如下:


  UpDate Master_Goods Set GoodsName = 'yangyang8848' Where Current Of MyCursor;

  删除当前游标行数据的方法如下:


  Delete From Master_Goods Where Current Of MyCursor

  Select @@CURSOR_ROWS 可以得到当前游标中存在的数据行数。注意:此变量为一个连接上的全局变量,因此只对应最后一次打开的游标。

分享到:
评论

相关推荐

    SQLServer教程:详细学习游标(1)[借鉴].pdf

    本教程详细介绍了游标的基本概念、分类以及生命周期。 首先,游标由两部分构成:游标结果集和游标位置。结果集是由SELECT语句生成的行集合,而游标位置则是指针,指示当前处理的数据行。这使得用户能够对结果集中的...

    SQL Server -事务和游标

    在SQL Server数据库管理系统中,事务和游标是两个非常重要的概念,它们对于数据操作和处理具有深远的影响。本文将深入探讨这两个主题,并解释如何利用它们解决日常数据库管理中遇到的复杂问题。 首先,我们来谈谈...

    MS SQL Server2005存储过程、游标、游标嵌套综合例子

    在提供的示例文件`sqlserver2005_procedure_cursor_sample_20101015.sql`中,很可能是包含了存储过程的定义,这些存储过程可能涉及到游标的使用,甚至游标嵌套,以解决特定的业务问题。通常,这样的示例会展示如何在...

    SQL Server 游标用法

    6. **关闭(CLOSE)**:完成游标处理后,需要使用`CLOSE`语句关闭游标: ```sql CLOSE my_cursor1 ``` 7. **释放(DEALLOCATE)**:最后,使用`DEALLOCATE`释放游标资源,防止内存泄漏: ```sql DEALLOCATE my...

    SqlServer存储过程、游标讲解

    游标是SqlServer中一种非常重要的数据库对象,它的作用是允许逐行访问由SQL Server返回的结果集。结果集通常包括多行数据,而游标则能够让用户以程序的方式逐行处理这些数据。在实际应用中,游标能够提供很多有用的...

    SQL Server 事务、异常和游标

    Ø 事务 在数据库中有时候需要把多个步骤的... 事务有若干条T-SQL指令组成,并且所有的指令昨晚一个整体提交给数据库系统,执行时,这组指令要么全部执行完成,要么全部取消。因此,事务是一个不可分割的逻辑单元。

    SQL Server 游标的简单使用

    一、SQL server 游标的简单使用 一个对表进行操作的T-SQL语句通常都可产生或处理一组记录,但是许多应用程序,尤其是T-SQL嵌入的主语言,通常不能把整个结果集作为一个单元来处理,这些应用程序就需要用一种机制来...

    sql server游标的使用

    sql server 游标 使用的使用方法 --读取数据(使用FETCH来获取该记录的值;FETCH会执行两步操作:首先将游标当前指向的记录保存到一个局部变量中, --然后游标将自动移向下一条记录) --将一条或多条记录读入某个...

    SQLServer数据库游标和函数的使用(经典)

    SQL Server提供四种类型的游标:静态、动态、快照和键集。静态游标在打开时一次性加载所有数据,不反映数据库的实时变化;动态游标则实时反映数据更改;快照游标类似于静态,但只在打开时获取数据的一次性快照;键集...

    sqlserver游标存储过程的使用

    接下来,我们将学习如何在SQL Server存储过程中使用游标: 1. **声明游标**:首先需要声明一个游标,指定其类型、源数据集(通常是查询语句)以及其属性。例如: ```sql DECLARE @MyCursor CURSOR FOR SELECT * FROM...

    sql server资源:学习SQL的教程,简单明了

    6. **sql03.pdf、sql02.pdf** - 这些文件可能按照学习顺序排列,sql02可能是继sql01之后的中级概念,而sql03可能是更高级的SQL Server特性和用法,如Transact-SQL(T-SQL)、游标、事务管理等。 7. **guide.pdf** - ...

    sql server 游标实例

    ### SQL Server 游标实例详解 #### 一、游标概念与作用 在SQL Server中,游标是一种数据库对象,允许我们逐行处理查询结果集中的数据。这与普通的SQL查询不同,在普通的查询中,结果集通常是作为一个整体来处理的。...

    Sqlserver游标拼接

    Sqlserver游标拼接学习,简单的游标学习,直接exec执行查看结果

    sqlserver驱动包:sqljdbc4.jar

    2. **URL配置**:连接SQL Server通常需要提供一个数据库URL,如`jdbc:sqlserver://hostname:port;databaseName=dbname`。URL中包含了服务器地址、端口和数据库名等信息。 3. **认证机制**:驱动支持多种认证方式,...

    SQL学习教程-存储过程,游标,触发器

    2. 游标: 游标是一种允许数据库应用程序逐行处理结果集的技术。在处理大量数据时,如果我们需要逐条处理或检查每一行,游标就非常有用。SQL Server 2008支持多种类型的游标,如静态、动态、键集驱动和只读。通过...

    SQL语句\sql 游标总结

    此语句有两种语法声明格式,分别为 SQL 92 标准格式和 SQL Server 扩展(扩展了声明游标的参数)格式。 2.1 SQL-92 语法格式 语法:DECLARE cursor_name [ INSENSITIVE ] [ SCROLL ] CURSOR FOR select_statement ...

    SqlServer存储过程游标

    ### SqlServer 存储过程与游标应用实例详解 #### 一、存储过程概述 在SQL Server中,存储过程是一种预编译的SQL语句集合,它可以被当作一个单独的对象来调用。存储过程可以提高应用程序性能,简化复杂的业务逻辑,...

    sql server 2008 存储过程示例带游标

    下面将详细解析标题“sql server 2008 存储过程示例带游标”所涉及的知识点,包括存储过程的创建、游标的使用以及SQL Server 2008中的特性。 ### 存储过程 存储过程是预编译的SQL语句集合,存储在数据库服务器上,...

Global site tag (gtag.js) - Google Analytics