作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的数据库中有两个表
优惠券表
优惠券使用表
每当用户点击优惠券时,就会有一个条目进入包含该优惠券 ID 的 CouponUse
表
现在,coupon
表中有一个名为 NoofUses
的列。我想在一个存储过程中编写一个游标,该游标在 couponuse
表上循环,查看一张优惠券有多少行,并将该数字填充到优惠券的 NoofUses
字段中。
我有这个查询
select COUNT(*) as totalcount , Name as name from Coupon as coupon
join CouponUse as couponuse on coupon.id = couponuse.couponid
group by couponuse.couponid , coupon.Name
这给了我优惠券名称及其来自couponuse
的计数
但我不知道如何使用游标在存储过程中实现它?
您提出的任何问题都将不胜感激,谢谢
最佳答案
尝试以下代码片段。您可以从应用程序中调用以下存储过程,以便更新优惠券表中的 NoOfUses
。
CREATE PROCEDURE [dbo].[sp_UpdateCouponCount]
AS
Declare @couponCount int,
@CouponName nvarchar(50),
@couponIdFromQuery int
Declare curP cursor For
select COUNT(*) as totalcount , Name as name,couponuse.couponid as couponid from Coupon as coupon
join CouponUse as couponuse on coupon.id = couponuse.couponid
where couponuse.id=@cuponId
group by couponuse.couponid , coupon.Name
OPEN curP
Fetch Next From curP Into @couponCount, @CouponName,@couponIdFromQuery
While @@Fetch_Status = 0 Begin
print @couponCount
print @CouponName
update Coupon SET NoofUses=@couponCount
where couponuse.id=@couponIdFromQuery
Fetch Next From curP Into @couponCount, @CouponName,@couponIdFromQuery
End -- End of Fetch
Close curP
Deallocate curP
希望这有帮助!
关于sql - 如何在 SQL Server 2008 中的存储过程中编写游标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13507317/
我是一名优秀的程序员,十分优秀!