今天看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+‘1‘ 11 where id=@id --进行相应处理(跟据需要填入SQL文) 12 13 fetch next from cursor1 into @id,@name --将游标向下移1行 14 end 15 16 close cursor1 --关闭游标 17 deallocate cursor1
-----------------------------------------------------------------------------declarem_cursorcursorscrollfor
select Address,PeopleId from PeopleDetail open m_cursordeclare @Address varchar(50), @PeopleId intfetch next from m_cursor into @Address,@PeopleIdwhile @@FETCH_STATUS=0begin print @Address + convert(varchar(3), @PeopleId) fetch next from m_cursor into @Address,@PeopleIdendclose m_cursordeallocate m_cursor 释放游标,也叫删除游标------------------------------------------------------------
关于释放游标:
1.创建了游标,他就存在于内存之中;创建后就要释放,一个好的程序员应该养成这样的习惯,不要以为反正系统会给释放,结果谁都没释放,后果是,或者它无谓地占着空间,或者会出点什么溢出之类的事情,特别是那些在循环中创建的东西,一定得在循环中用完后释放.
2.记住一点:创建了不使用就把它给释放。这个习惯很重要