游标书写示例1

/*
authro: liulf
time:10:39 2009-2-9
function: 实现KM_LetterGroup邮件地址列(GroupAddress)的更新
*/
ALTER  proc [dbo].[_pInitKM_LetterGroup]
@v varchar(100), --GroupName 的组合
@ch char(1), --GroupName 的分隔附
@email varchar(100) --用户的Email
as
begin 
 declare @myGroupId int
 declare curUpdateKM_LetterGroup scroll cursor
 for
 select groupid from KM_LetterGroup where groupname in
 (select * from f_splitstr(@v,@ch))
 open curUpdateKM_LetterGroup
 fetch first from curUpdateKM_LetterGroup into @myGroupId
 while (select @@fetch_status)=0
   begin
   update KM_LetterGroup set GroupAddress = convert(varchar(8000),GroupAddress)+','+@email
  where groupid =@myGroupId
      fetch next from curUpdateKM_LetterGroup into  @myGroupId
     continue
   end
 close curUpdateKM_LetterGroup
 deallocate curUpdateKM_LetterGroup
end

你可能感兴趣的:(游标)