sql:定时执行存储过程(嵌套存储过程、使用游标)

BEGIN
    
    Declare @FormNo  nvarchar(20)    --单号
    Declare @Type  nvarchar(50)  --类型
    Declare @PickedQty float    -
    Declare @OutQty float  
    Declare @生产量 float
    Declare @已装箱数量 float 
    Declare @已入库数量 float
    Declare @损耗数量 float 
    Declare @退货品出库数量 int

    declare k cursor for select 单号,类型,勾选数量,出库数量,生产量,已装箱数量,已入库数量,损耗数量,[退货品出库数量] from SCBB_CPSCD_QUERY WHERE 制单日期   >= DATEADD(WEEK, -1, GETDATE())
    OPEN k
    fetch next from k into @FormNo,@Type,@PickedQty,@OutQty,@生产量,@已装箱数量,@已入库数量,@损耗数量,@退货品出库数量
    while @@Fetch_status=0
    begin
        IF (@Type IN ('常规','样品', '委外','筛选','全检','补货','委外补货','受托加工','返工') 
    AND @PickedQty = @OutQty 
    AND @生产量 = @已装箱数量 
    AND @生产量 = @已入库数量 
    AND ISNULL(@损耗数量,0) = 0) 
    OR 
    (@FinishProductType = '返修' 
    AND ISNULL(@退货品出库数量,0) <> 0
    AND @生产量 = @退货品出库数量 
    AND ISNULL(@损耗数量,0) = 0)
        BEGIN 
            EXEC SCJH_CPSCD_CLOSE_PROC @FormNo = @FormNo,@CloseRemarks = null,@Results = '000',@Msg = null
        END

    fetch next from k into @FormNo,@Type,@PickedQty,@OutQty,@生产量,@已装箱数量,@已入库数量,@损耗数量,@退货品出库数量
    END     
    close k
    deallocate k

SCJH_CPSCD_CLOSE_PROC 存储过程是有四个输入参数的,所以EXEC的时候需要带上他的四个参数。

在sql server中设置定时作业执行该存储过程:

在步骤里设置要执行的存储过程

 然后在作业里设置执行时间就可以啦

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JagTom

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值