Stored Procedure Function Oracle PLSQL

SQL> CREATE OR REPLACE FUNCTION Fib(n IN BINARY_INTEGER)
  2    RETURN BINARY_INTEGER AS
  3  BEGIN
  4    RETURN Fib(n - 1) + Fib(n - 2);
  5  END Fib;
  6  /
Function created.
SQL>
SQL> CREATE OR REPLACE FUNCTION Fib(n IN BINARY_INTEGER)
  2    RETURN BINARY_INTEGER AS
  3  BEGIN
  4    IF n = 0 OR n = 1 THEN
  5      RETURN n;
  6    ELSE
  7      RETURN Fib(n - 1) + Fib(n - 2);
  8    END IF;
  9  END Fib;
 10  /
Function created.
SQL>
SQL> set serveroutput on
SQL>
SQL> BEGIN
  2    FOR v_Count IN 1..10 LOOP
  3      DBMS_OUTPUT.PUT_LINE(
  4        'Fib(' || v_Count || ') is ' || Fib(v_Count));
  5    END LOOP;
  6  END;
  7  /
Fib(1) is 1
Fib(2) is 1
Fib(3) is 2
Fib(4) is 3
Fib(5) is 5
Fib(6) is 8
Fib(7) is 13
Fib(8) is 21
Fib(9) is 34
Fib(10) is 55
PL/SQL procedure successfully completed.
SQL>
SQL>