表結構:People表,PeopleDetail表
1.簡單游標
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.用於更新的游標
-- 定義游標 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