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>