Segue solução com impressão dos valores em tela:
CREATE OR REPLACE PROCEDURE NUMEROS_FIBONACCI_WHILE(
p_INDICE IN FLOAT
)
IS
v_N1 FLOAT := 0;
v_N2 FLOAT := 1;
v_RESP FLOAT := 0;
v_COUNT FLOAT := 1;
v_INDICE FLOAT := p_INDICE;
BEGIN
CASE
WHEN v_INDICE <= 0 THEN RETURN; -- ÍNDICE COMEÇA EM 1
WHEN v_INDICE = 1 THEN
DBMS_OUTPUT.PUT_LINE(v_N1); -- NÚM IGUAL A 0
WHEN v_INDICE > 1 THEN
DBMS_OUTPUT.PUT_LINE(v_N1); -- NÚM IGUAL A 0
DBMS_OUTPUT.PUT_LINE(v_N2); -- NÚM IGUAL A 1
ELSE
DBMS_OUTPUT.PUT_LINE(v_N1);
DBMS_OUTPUT.PUT_LINE(v_N2);
END CASE;
WHILE v_COUNT < v_INDICE LOOP
v_RESP := v_N1 + v_N2;
v_N1 := v_N2;
v_N2 := v_RESP;
v_COUNT := v_COUNT + 1;
DBMS_OUTPUT.PUT_LINE(v_RESP);
END LOOP;
END;
SET SERVEROUTPUT ON;
EXECUTE NUMEROS_VIBONACCI_WHILE(45);