sqlserver 游标写法


1.简单游标

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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

2.用于更新的游标 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
-- 定义游标
declare  m_cursor  cursor  scroll  for
select  a.Id,b.Address  from   People a  left  join  PeopleDetail b  on  a.Id=b.PeopleId
for  update
-- 打开游标
open  m_cursor
declare    @Address  varchar (50), @Id  int
--填充数据
fetch  next  from  m_cursor  into  @Id,@Address
--假如检索到了数据,才处理
while @@FETCH_STATUS=0
begin
     update  People  set   Address=@Address  where  current  of  m_cursor
     --填充下一条数据
     fetch  next  from  m_cursor  into  @Id,@Address
end
-- 关闭游标
close  m_cursor
--释放游标
deallocate  m_cursor

  


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM