System Packages Oracle PLSQL Tutorial

SQL>
SQL> exec dbms_profiler.start_profiler( 'factorial recursive' )
BEGIN dbms_profiler.start_profiler( 'factorial recursive' ); END;
SQL>
SQL> create or replace
  2  function fact_recursive( n int ) return number
  3  as
  4  begin
  5          if ( n = 1 )
  6          then
  7                  return 1;
  8          else
  9                  return n * fact_recursive(n-1);
 10          end if;
 11  end;
 12  /
Function created.
SQL> begin
  2      for i in 1 .. 50 loop
  3          dbms_output.put_line( fact_recursive(50) );
  4      end loop;
  5  end;
  6  /
30414093201713378043612608166064768844300000000000000000000000000
PL/SQL procedure successfully completed.
SQL>
SQL> exec dbms_profiler.stop_profiler
PL/SQL procedure successfully completed.
SQL>