zoukankan      html  css  js  c++  java
  • MSSQL手札一 MSSQL的游标

    和oracle的不同,MSSQL中没有隐式游标的说法,也没有%type和%rowtype这样根据数据库字段实时更新变量含义的关键字,MSSQL的游标类似于oracle的显示游标,需要自己去手动关闭,

    定义游标之后是在预先定义的变量里面进行游标循环,而不是oracle那样的结果集。如下:

    declare nex cursor for select [user_name],[birthdate] from T_user_info
        --在访问游标某行数据的时候需要定义变量,这个变量是和表里面的字段一一对应的
        declare @name nvarchar(50)
        declare @birthdate datetime    
        --打开游标
    open nex
    --通过游标nex循环取变量结果集中的数据
    fetch nex into @name,@birthdate
    while(@@FETCH_STATUS=0)
    begin
        --在这里做一些操作
        print('姓名:'+@name+'    '+'日期:'+convert(nvarchar(50),@birthdate))
        --print(convert(nvarchar(50),@birthdate))
        --print(@birthdate)
        --一直进行检索。如果@@FETCH_STATUS是一直为0,表示一直是有数据的就可以一直循环
        fetch nex into @name,@birthdate
    end
    --读取结束,关闭游标
    close nex
    --关闭游标之后还要释放游标,oracle没有这个步骤
    deallocate nex

    这就是一个游标的demo,你可以复制过来之后改变变量,字段,表名,之后做操作就可以了,但是游标对于性能上还是会有一些影响,所以用的时候要合理运用

  • 相关阅读:
    arclinux安装报错unknown trust
    linux微型主机服务器配置
    spring data jpa + hibernate
    又纠结activiti
    comet4j
    shiro纠结之旅
    ubuntu更改jdk版本的问题
    struts上传
    java实现四则运算
    6 个重构方法可帮你提升 80% 的代码质量(转)
  • 原文地址:https://www.cnblogs.com/llcdbk/p/4276400.html
Copyright © 2011-2022 走看看