zoukankan      html  css  js  c++  java
  • sqlserver2012——游标

    游标:一种数据访问机制,允许用户访问单独的数据行而不是对整个行集进行操作。用户可以通过单独处理每一行逐条收集信息并对数据逐行进行操作,这样可以将降低系统开销。

    游标主要有以下两部分:

      游标结果集:由定义游标的select语句返回的行的集合

      游标位置:指向这个结果集中的某一行的指针。

    有标的特点:

      游标返回一个完整的结果集,但允许程序设计语言只调用集合中的以行

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

      从结果集的当前位置检索一行或多行

      提供脚本,存储过程和触发器中使用的访问结果集中数据的SQL语句

    游标的声明

    Declare cursor_name [INSENSITIVE] [SCROLL] CURSOOR
    
    For select_statement

    举例说明

    DECLARE STUDENT_CURSOR SCROLL CURSOR
    FOR 
    select * From 学生信息
    For read only
    这样就声明了一个只读游标
    
    DECLARE STUDENT_CURSOR SCROLL CURSOR
    FOR 
    select * From 学生信息
    For update
    这样就声明了一个更改游标
    要更新有标的时候必须释放游标
    用
    DEALLOCATE STUDENT_CURSOR

    游标的操作步骤

      1、打开游标 OPEN

      2、检索游标FETCH。。。RELATIVE。。。。。。

      3、关闭游标CLOSE

      4、释放游标DEALLOCATE

    declare stu_cursor scroll cursor
    for
    select 姓名 From 学生信息
    
    
    declare @name VARCHAR(32)
    
    OPEN stu_cursor
    
    FETCH Next From stu_cursor Into @name
    print @name
    
    close stu_cursoor
    
    Deallocate stu_cursor

    判断游标提取状态

      @@Fetch_status

      返回3种状态:

        0:Fetch语句成功

        -1:Fetch语句失败或行不在结果集中

        -2:提取的行不存在

      

  • 相关阅读:
    数理统计与Matlab: 第4章 回归分析
    汽车各部位名称详解【图】
    线性代数:第四章 矩 阵1
    曲线救国的就业路线是否合理?
    TortoiseSVN 编辑日志信息报错
    Ironpython及其他托管语言中值类型最好使用构造函数赋值,否则无法赋值的问题
    线性代数:第五章 二次型
    Matlab基础
    技术基层管理者交流QQ群243460070
    MATLAB软件基础
  • 原文地址:https://www.cnblogs.com/javier520/p/10897144.html
Copyright © 2011-2022 走看看