存储过程还带游标的(练习练习)

很少很少写存储过程,不行,得练练手才行。

----创建一个存储过程
create
procedure updateExchangeGiftCount_produ as begin declare @materialsnids int ----定义你需要的变量
declare @count int declare youbiao cursor for ----定义游标,取出你要的变量值
select ig.materialsnid, sum(GiftsCount) as giftcount from dbo.IG_ExchangeHistory as eh inner join dbo.IG_ExchangeGiftsHistory as egh on eh.exchangehistorynid=egh.exchangehistorynid inner join dbo.IG_IntegralGifts as ig on egh.IntegralGiftsNid=ig.IntegralGiftsNid inner join dbo.WAR_Materials as mt on ig.MaterialsNid=mt.materialsnid group by ig.materialsnid open youbiao ----打开游标
fetch next from youbiao into @materialsnids,@count ----把游标指向变量
while(@@fetch_status=0) begin update dbo.WAR_Materials set ExchangeCount=@count where MaterialsNid=@materialsnids fetch next from youbiao into @materialsnids,@count ----游标指向下一条
end close youbiao----关闭游标
deallocate youbiao ----删除游标
end --execute updateExchangeGiftCount_produ
原文地址:https://www.cnblogs.com/pigddyou/p/2726170.html