DECLARE @NUMERO_ANTERIOR2 INT;
DECLARE @NUMERO_ANTERIOR1 INT;
DECLARE @NUMERO_ATUAL INT;
DECLARE @SEQUENCIA INT;
DECLARE @CONTADOR_SEQUENCIA INT;
DECLARE @INICIO INT;
DECLARE @TABELA TABLE (POSICAO VARCHAR(20), NUMERO INT)
SET @INICIO = 0
SET @SEQUENCIA = 44;
SET @CONTADOR_SEQUENCIA = 3;
SET @NUMERO_ANTERIOR2 = 0;
SET @NUMERO_ANTERIOR1 = 1;
WHILE @INICIO <2
BEGIN
INSERT INTO @TABELA (POSICAO,NUMERO)
VALUES (@INICIO + 1, @INICIO)
SET @INICIO = @INICIO + 1
END
--PRINT 'POSIÇÃO 1 --> 0';
--PRINT 'POSIÇÃO 2 --> 1';
WHILE @CONTADOR_SEQUENCIA <= @SEQUENCIA
BEGIN
SET @NUMERO_ATUAL = @NUMERO_ANTERIOR2 + @NUMERO_ANTERIOR1;
-- PRINT 'POSIÇÃO ' + TRIM(STR(@CONTADOR_SEQUENCIA,10,0)) + ' --> ' + TRIM(STR(@NUMERO_ATUAL, 10,0));
INSERT INTO @TABELA (POSICAO, NUMERO)
VALUES (TRIM(STR(@CONTADOR_SEQUENCIA,10,0)),TRIM(STR(@NUMERO_ATUAL, 10,0)))
SET @NUMERO_ANTERIOR2 = @NUMERO_ANTERIOR1;
SET @NUMERO_ANTERIOR1 = @NUMERO_ATUAL;
SET @CONTADOR_SEQUENCIA = @CONTADOR_SEQUENCIA + 1;
END;
SELECT * FROM @TABELA