游标第一次应用

                      

             
遇到问题不慌 仔细看问题,查找到原因才可以改,理解前后逻辑,碰到一块 熟悉这快得逻辑和技术知识

DECLARE
@Table_MaxID INT,@WarehouseId INT DECLARE @TempTable table (wid int,maxId int) DECLARE My_Cursor CURSOR FOR (SELECT WarehouseId FROM dbo.Warehouse WITH (NOLOCK) WHERE ISNULL(IsDeleted,0)=0) OPEN My_Cursor; FETCH NEXT FROM My_Cursor INTO @WarehouseId; WHILE @@FETCH_STATUS = 0 BEGIN EXEC @Table_MaxID = [dbo].[cp_BuildIdentity] @tp_typeName = N'Inventory' INSERT INTO @TempTable (wid,maxId) VALUES(@WarehouseId,@Table_MaxID) FETCH NEXT FROM My_Cursor INTO @WarehouseId; END CLOSE My_Cursor; DEALLOCATE My_Cursor; UPDATE [dbo].[ItemMaintain] SET [SyncDateTime] = @SyncDateTime, IsSentWarehouse=1 WHERE ItemCode=@ItemCode IF NOT EXISTS (SELECT InventoryId FROM dbo.InventoryForEdit WHERE ItemCode=@ItemCode) BEGIN INSERT INTO dbo.InventoryForEdit ( InventoryId , StoreId , ItemType , ItemId , ItemCode, Warehouseid ) SELECT maxId,1,ItemType,ItemId,ItemCode,Warehouseid FROM dbo.ItemMaintain,dbo.Warehouse WITH (NOLOCK) LEFT JOIN @TempTable ON wid=Warehouse.Warehouseid WHERE ItemId=@ItemCode AND Warehouse.IsDeleted=0 END

 

转载于:https://www.cnblogs.com/q101301/p/4589525.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值