码迷,mamicode.com
首页 > 数据库 > 详细

MSSQL手札一 MSSQL的游标

时间:2015-02-06 10:47:46      阅读:182      评论:0      收藏:0      [点我收藏+]

标签:

和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,你可以复制过来之后改变变量,字段,表名,之后做操作就可以了,但是游标对于性能上还是会有一些影响,所以用的时候要合理运用

MSSQL手札一 MSSQL的游标

标签:

原文地址:http://www.cnblogs.com/llcdbk/p/4276400.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!