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

sql 游标

时间:2018-02-24 15:34:55      阅读:184      评论:0      收藏:0      [点我收藏+]

标签:ddr   获取数据   scroll   led   程序   net   判断   log   取数   

今天看sql报表的时候,看到数据库的sql语句,有很长的一段游标的语句,

自己对游标不是很熟悉,借此机会也记个笔记。

<a>https://www.cnblogs.com/kingteach/p/3801054.html</a>

http://blog.csdn.net/feng2375/article/details/2063551

 1 declare @id int
 2 declare @name varchar(50)
 3 
 4 declare cursor1 cursor for         --定义游标cursor1
 5 select * from table1               --使用游标的对象(跟据需要填入select文) 
 6 open cursor1                       --打开游标
 7 
 8 fetch next from cursor1 into @id,@name  --将游标向下移1行,获取的数据放入之前定义的变量@id,@name中while @@fetch_status=0           --判断是否成功获取数据
 9 begin
10 update table1 set name=name+111 where id=@id                           --进行相应处理(跟据需要填入SQL文)
12 
13 fetch next from cursor1 into @id,@name  --将游标向下移1行
14 end
15 
16 close cursor1                   --关闭游标
17 deallocate cursor1


-----------------------------------------------------------------------------
declare m_cursor cursor scroll for
select  Address,PeopleId from  PeopleDetail 
open m_cursor
declare   @Address varchar(50), @PeopleId int
 
fetch next from m_cursor into @Address,@PeopleId
while @@FETCH_STATUS=0
begin
    print @Address + convert(varchar(3), @PeopleId)
    fetch next from m_cursor into @Address,@PeopleId
end
 
close m_cursor
deallocate m_cursor  释放游标,也叫删除游标
------------------------------------------------------------
关于释放游标:
1.创建了游标,他就存在于内存之中;创建后就要释放,一个好的程序员应该养成这样的习惯,不要以为反正系统会给释放,结果谁都没释放,后果是,或者它无谓地占着空间,或者会出点什么溢出之类的事情,特别是那些在循环中创建的东西,一定得在循环中用完后释放.
2.记住一点:创建了不使用就把它给释放。这个习惯很重要

sql 游标

标签:ddr   获取数据   scroll   led   程序   net   判断   log   取数   

原文地址:https://www.cnblogs.com/ZkbFighting/p/8465967.html

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