Содержание хранимой процедуры:
Код: Выделить всё
ALTER PROCEDURE [dbo].[proc_ReestrNakCreate]
@NomNakFirst varchar(10), -- номер первой накладной в реестре
@NomNakLast varchar(10) -- номер последней накладной в реестре
AS
BEGIN
SET NOCOUNT ON;
DECLARE
@iNak int NOT NULL,
@iNakLast int NOT NULL,
@strNak varchar(10), -- номер накладной в строковом виде
@NomLen int NOT NULL -- количество знаков в номере накладной
SET @iNak = cast(@NomNakFirst as int)
SET @iNakLast = cast(@NomNakLast as int)
SET @NomLen = LEN(@NomNakFirst)
-- очищаем таблицу перед наполнением
DELETE FROM T_TMP_ReestrNak
-- наполняем таблицу последовательными значениями
WHILE @iNak <= @iNakLast
BEGIN
SET @strNak = CAST(@iNak as varchar)
WHILE LEN(@strNak) < @NomLen
SET @strNak = '0' + @strNak
INSERT INTO T_TMP_ReestrNak
(NomNak)
VALUES
(@strNak)
SET @iNak = @iNak + 1
END
END