sqlserver 游标写法
1.简单游标
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
declare m_cursor cursor scroll forselect Address,PeopleId from PeopleDetailopen 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 |
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 forselect a.Id,b.Address from People a left join PeopleDetail b on a.Id=b.PeopleIdfor update-- 打开游标open m_cursordeclare @Address varchar(50), @Id int--填充数据fetch next from m_cursor into @Id,@Address--假如检索到了数据,才处理while @@FETCH_STATUS=0begin update People set Address=@Address where current of m_cursor --填充下一条数据 fetch next from m_cursor into @Id,@Addressend-- 关闭游标close m_cursor--释放游标deallocate m_cursor |

浙公网安备 33010602011771号