• 游标


    一:什么是游标
    游标是可以在结果集中上下游动的指针
    二:创建一个简单的游标

    Code


    三:游标的作用域
    做个存储过程,

    里面的游标是全局的,
    存储过程内部没有关闭释放游标
    代码如下
    Code
    接着执行这个存储过程
    执行语句如下
    use xland
    go 
    exec spcursorscope
    执行结果
    1         2       测试看看      xland
    2         4       asdfasdf      xland
    3         5       asdfasdf      xland
    4         6       全文索引全文索引全文索引xland的全文索引      xland
    再看一种执行方式
    Code
    看执行结果
    1         2       测试看看      xland
    2         4       asdfasdf      xland
    3         5       asdfasdf      xland
    4         6       全文索引全文索引全文索引xland的全文索引      xland
    6         7       xland      xland
    7         8       可以吗      xland
    8         9       应该没问题      xland
    9         10       暗暗      xland
    我们在存储过程的外部调用了游标
    说明游标是全局的
    但不建议这样使用游标
    四:游标的滚动
    next --移动到下一条记录
    prior --移动到上一条记录
    first  --移动到第一条记录
    last  --移动到最后一条记录
    看例子
    Code
    五:静态游标
    static的游标,程序员都知道static的意思,我就不多说了
    先看例子
    Code
    返回的消息:

    (3 行受影响)
    2     测试看看
    4     asdfasdf
    5     asdfasdf
    title1
    (1 行受影响)
    (3 行受影响)
    2   测试看看
    4   asdfasdf
    5   asdfasdf
    其中一行受影响就是
    select 语句的执行结果,为
    2 测试看看
    4 这是我更新的数据
    5 asdfasdf
    静态游标:一旦创建就与实体记录分开了,并不维持任何锁
    实体表发生了更新,并不影响游标里的情况

    六:键驱动的游标
    看例子
    Code

    得到的消息

    (8 行受影响)
    2     测试看看
    4     这是我更新的数据
    5     asdfasdf
    6     全文索引全文索引全文索引xland的全文索引
    7     xland
    8     可以吗
    9     应该没问题
    10     暗暗
    (1 行受影响)
    (1 行受影响)
    (1 行受影响)
    (8 行受影响)
    delete
    4   这不是我更新的数据
    5   asdfasdf
    6   全文索引全文索引全文索引xland的全文索引
    7   xland
    8   可以吗
    9   应该没问题
    10   暗暗
    得到的结果
    4 这不是我更新的数据
    5 asdfasdf
    6 全文索引全文索引全文索引xland的全文索引
    7 xland
    8 可以吗
    9 应该没问题
    10 暗暗
    33 这是插入的
    如果把keyset改成dynamic
    删除的记录没有通知
    消息里显示出了
    插入的记录和更新的记录

    可以在游标滚动的时候修改表的记录
  • 相关阅读:
    回测框架pybacktest简介(二)
    量化分析:把Tushare数据源,规整成PyalgoTrade所需格式
    CtaAlgo vs PyAlgoTrade
    Yahoo! Finance财经数据PYTHON临时读取方法
    linux screen 命令详解(转载)
    linux screen 命令详解
    centos7 安装mysql--python模块出现EnvironmentError: mysql_config not found和error: command 'gcc' failed with exit status 1
    redis安装全过程
    (转)ZooKeeper-3.3.4集群安装配置
    windows下 两个版本的JDK环境变量进行切换 MARK
  • 原文地址:https://www.cnblogs.com/liulun/p/1373352.html
Copyright © 2020-2023  润新知