One of the most common school exercice about recursion is the factorial. Guess what, I am going to do it in sql with hierarchies!
I use the following ln property :
x1*…*xn = exp(ln(x1)+..+ln(xn)))
Ok, here it is
SQL> select n, (select exp(sum(ln(level)))
from dual
connect by level<=n) "N!" from
(select rownum n from dual connect by level<7);
N N!
---- ----
1 1
2 2
3 6
4 24
5 120
6 720