Recursive function 2
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>