BEGINDeclare @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 beginIF (@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 = nullEND fetch next from k into @FormNo,@Type,@PickedQty,@OutQty,@生产量,@已装箱数量,@已入库数量,@损耗数量,@退货品出库数量 ENDclose k deallocate k

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

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

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

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