create or replace function f (n positive) return integer is
begin
if n = 1 then
return 1;
else
return n * f(n - 1);
end if;
end f;
/Function createdSQL> select f(10) from dual; F(10)
----------
362880010的阶乘
begin
if n = 1 then
return 1;
else
return n * f(n - 1);
end if;
end f;
/Function createdSQL> select f(10) from dual; F(10)
----------
362880010的阶乘
create or replace procedure pro(p_num in number)
as
num number:=p_num;
begin
if num=0 then
return;
else
pro(p_num-1);
end if;
dbms_output.put_line(num);
end;
/
SQL> exec pro(10);
1
2
3
4
5
6
7
8
9
10PL/SQL procedure successfully completed