<[EMAIL PROTECTED]> writes:
> Are recursive functions allowed in in 7.0.3
Sure.
play=> create function myfactorial(int) returns int as '
play'> begin
play'> if $1 > 1 then
play'> return $1 * myfactorial($1 - 1);
play'> end if;
play'> return $1;
play'> end;' language 'plpgsql';
CREATE
play=> select myfactorial(1);
myfactorial
-------------
1
(1 row)
play=> select myfactorial(10);
myfactorial
-------------
3628800
(1 row)
play=>
I get a stack overflow crash at about myfactorial(7500), but that seems
like a sufficient level of recursion depth for normal purposes ...
> as I seem to be unable to
> get them to work in plpgsql,
Are you sure you aren't asking for infinite recursion, eg by invoking
the same function with the same argument?
regards, tom lane