Recursive function 2 : Function Definition « Stored Procedure Function « Oracle PL / SQL






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>

   
    
    
  








Related examples in the same category

1.Define and call a function
2.Define and use function in select clause
3.A stored function.
4.Use user-defined function in if statement
5.Recursive function
6.function with no return type
7.Recursive function Factorial
8.A local function
9.demonstrates the behavior of the DETERMINISTIC keyword.
10.Function to convert celsius to fahrenheit
11.Function to convert fahrenheit to celsius
12.A function is executed like any other SQL built-in function:
13.Count Employee from a function and return value back
14.How stored functions can be called from SQL
15.Raise exception from inner function