游标实例

-----------------------------------
declare @id int,@num int
declare aaa cursor for

--select a.memberid,count(a.memberid) as num
--from info a,members b
--where a.memberid!=17992 and (a.sdtype=35 or a.sdtype=36 or a.sdtype=38) and a.memberid=b.memberid
--group by a.memberid
--order by a.memberid

select a.memberid,count(a.memberid) as num
from info a,members b
where a.memberid!=17992 and a.sdtype=30  and a.memberid=b.memberid
group by a.memberid
order by a.memberid

open aaa
fetch next from aaa into @id,@num

while @@fetch_status=0
begin
   UPDATE [CFW2008].[dbo].[Members]
   SET [Mark] = [Mark]+ @num*5
   where memberid=@id
   fetch next from aaa into @id,@num
end

close aaa
deallocate aaa
go

posted @ 2009-06-16 13:55  一只白色的大鸟  阅读(105)  评论(0编辑  收藏  举报