简单写了一个手工输入凭证号,自动补号的SQL脚本原创
金蝶云社区-zg_d1v
zg_d1v
6人赞赏了该文章 255次浏览 未经作者许可,禁止转载编辑于2020年08月13日 09:07:29

DECLARE @FNumber INT,@fstartnumber INT ;

SET @fstartnumber=900

SELECT ROW_NUMBER() OVER (ORDER BY FNumber)+@fstartnumber-1 AS FIndex, a.FNumber

INTO #tmp

FROM(SELECT FNumber

     FROM t_Voucher

     WHERE FYear=2020 AND FPeriod=7 AND FGroupID=1

     UNION

     SELECT FNumber

     FROM t_VoucherBlankOut

     WHERE FYear=2020 AND FPeriod=7 AND FGroupID=1) a WHERE a.FNumber>=@fstartnumber;


IF NOT EXISTS (SELECT * FROM #tmp AS t WHERE t.FIndex<t.FNumber)

SELECT @FNumber=ISNULL(MAX(FIndex), 0)+1 FROM #tmp;

ELSE

    SELECT @FNumber=ISNULL(MIN(t.FIndex), 0)

    FROM #tmp AS t

    WHERE t.FIndex<t.FNumber;

DROP TABLE #tmp;

 

SELECT @FNumber;


赞 6