zoukankan      html  css  js  c++  java
  • Tsql 游标

     

    游标简介:
        
    Sql游标提供了一种循环结果集的机制,它对数据集中的数据进行逐行读取,可以实现不易用select语句语法轻易地表达复杂计算。
         通过
    sql语言从数据库中检索数据口,然后把结果放到内存的一块区域中.往往这个结果讲包含多条数据,这也是游标产生了一个不可避免的弊端对系统资源占用相对较大。

    游标的使用过程:

    1.声明游标

    2.打开游标

    3.从游标中重复(读取)行,有选择的修改或者删除

    4.关闭游标

    5.当不再需要游标时,释放游标

    声明一个游标

     DECLARE 游标名 [ INSENSITIVE ] [ SCROLL ] CURSOR
    FOR sql-statement

    例:Declare Mycursor

       For select * from tb_name

    打开游标

    OPEN MyCursor

    游标的操作

     FETCH
                [ NEXT | PRIOR | FIRST | LAST]
    FROM
    { 游标名 | @游标变量名 } [ INTO @变量名 […] ]

    一.   可滚动游标

     Next       当前行的下一行

     Prior       当前行的前一行

     First       第一行

     Last        最后一行

     Absolute n   n>0,定位到从开始的第n

                       n=0 没有返回行

                        n<0 定位到末尾前的第n行

     Relative n   n<-1 定位到当前行之前的第n行

                      n=-1 通Prior关键字相同

                      n=0 定位到当前行 [重读]
                     
    n=1 同Next关键字相同

                     N>1定位到当前行之后的第n行

    Code

    每执行一个FETCH操作之后,通常都要查看一下全局变量@@FETCH_STATUS中的状态值,以此判断FETCH操作是否成功。该变量有三种状态值:
    · 0 表示成功执行FETCH语句。
    · -1 表示FETCH语句失败,例如移动行指针使其超出了结果集。
    · -2 表示被提取的行不存在。
    由于@@FETCH_STATU是全局变量,在一个连接上的所有游标都可能影响该变量的值。因此,在执行一条FETCH语句后,必须在对另一游标执行另一FETCH 语句之前测试该变量的值才能作出正确的判断。


    Code

    一只站在树上的鸟儿,从来不会害怕树枝会断裂,因为它相信的不是树枝,而是它自己的翅膀。与其每天担心未来,不如努力做好现在。
  • 相关阅读:
    SciTE 快捷键
    MySQL数据库性能优化
    常用的正则表达式全面总结
    PHP中的Memcache的应用
    经典数学题:态度决定一切
    PHP Socket基础
    由浅入深探究mysql索引结构原理、性能分析与优化
    深入理解HTTP协议
    PHP会话控制之Session介绍原理
    PHP会话控制之Cookie使用例子
  • 原文地址:https://www.cnblogs.com/rhythmK/p/1542754.html
Copyright © 2011-2022 走看看