游标简单的使用


GO

/****** Object: StoredProcedure [dbo].[UP_Job_UpdatePromotionBeginInfo] Script Date: 08/19/2014 19:02:11 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO


ALTER PROCEDURE [dbo].[UP_Job_UpdatePromotionBeginInfo]
AS
BEGIN
DECLARE MyFirstCursor CURSOR
FOR
SELECT a.ProductProID ,
a.productItemid ,
p.productid ,
a.ProPromKindID ,
a.PromPrice,
--新添加五个字段
a.IsLimitBuyStatus,
a.LimitBuyPersonalCount,
a.LimitBuyCount,
a.bDate,
a.eDate
FROM ProductPro a
INNER JOIN productitem item ON a.productitemid = item.productitemid
INNER JOIN product p ON p.productid = item.productid
WHERE a.BDate <= GETDATE()
AND a.EDate >= GETDATE()
AND a.[State] = 0

OPEN MyFirstCursor

DECLARE @ProductProID INT
DECLARE @productItemid INT
DECLARE @productid INT
DECLARE @ProPromKindID INT
DECLARE @num INT
DECLARE @PromPrice MONEY
--新添加五个字段
DECLARE @IsPur INT
DECLARE @OnePurNum INT
DECLARE @TotalPurNum INT
DECLARE @StartDate DATETIME
DECLARE @LastDate DATETIME
FETCH NEXT FROM MyFirstCursor INTO @ProductProID, @productItemid, @productid, @ProPromKindID, @PromPrice,@IsPur,@OnePurNum,@TotalPurNum,@StartDate,@LastDate
WHILE ( @@FETCH_STATUS = 0 )
BEGIN
--修改ProductPro 状态
UPDATE dbo.ProductPro
SET [State] = 1
WHERE ProductProID = @ProductProID

UPDATE TOP ( 1 )
product
SET ProductAttributeID = @ProPromKindID ,
Price = @PromPrice ,
Price2 = @PromPrice
WHERE productid = @productid

UPDATE TOP ( 1 )
productitem
SET OldPrice = price ,
price = @PromPrice
--新添加五个字段
,IsPur=@IsPur
,OnePurNum=@OnePurNum
,TotalPurNum=@TotalPurNum
,StartDate=@StartDate
,LastDate=@LastDate
WHERE productitemid = @productItemid

--xia 20140218 限制团购数量 改动
SELECT @num = LimitNum
FROM dbo.ProductPro
WHERE ProductProID = @ProductProID
UPDATE productitem
SET StoreNum = @num
WHERE ProductItemID = @productItemid




--读取下一行
FETCH NEXT FROM MyFirstCursor INTO @ProductProID,
@productItemid, @productid, @ProPromKindID, @PromPrice
END
--关闭游标
CLOSE MyFirstCursor
--删除游标
DEALLOCATE MyFirstCursor


END


优质内容筛选与推荐>>
1、Sqlite 语句 记录
2、如何解决android 通知栏不显示的问题
3、SQLite 使用(创、升、增、删、改、查)
4、npm install 时总是报phantomjs-prebuilt@2.1.14安装失败
5、Quartz.net任务调度(石英钟定时任务)


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号