DECLARE @NUMERO_ANTERIOR2 INT;
DECLARE @NUMERO_ANTERIOR1 INT;
DECLARE @NUMERO_ATUAL INT;
DECLARE @SEQUENCIA INT;
DECLARE @CONTADOR_SEQUENCIA INT;
DECLARE @FIBONACCI TABLE (
POSICAO INT,
NUMERO INT
);
SET @SEQUENCIA = 44;
SET @CONTADOR_SEQUENCIA = 3;
SET @NUMERO_ANTERIOR2 = 0;
SET @NUMERO_ANTERIOR1 = 1;
INSERT INTO @FIBONACCI
VALUES
(1, 0),
(2, 1);
WHILE @CONTADOR_SEQUENCIA <= @SEQUENCIA
BEGIN
SET @NUMERO_ATUAL = @NUMERO_ANTERIOR2 + @NUMERO_ANTERIOR1;
INSERT INTO @FIBONACCI
VALUES
(@CONTADOR_SEQUENCIA,@NUMERO_ATUAL);
SET @NUMERO_ANTERIOR2 = @NUMERO_ANTERIOR1;
SET @NUMERO_ANTERIOR1 = @NUMERO_ATUAL;
SET @CONTADOR_SEQUENCIA = @CONTADOR_SEQUENCIA + 1;
END;
SELECT * FROM @FIBONACCI;