Re: Recusrive Functions in 7.0.3
| От | Tom Lane |
|---|---|
| Тема | Re: Recusrive Functions in 7.0.3 |
| Дата | |
| Msg-id | 28783.981775759@sss.pgh.pa.us обсуждение |
| Ответ на | Recusrive Functions in 7.0.3 (<plpgsql@polar-digital.com>) |
| Ответы |
Recusrive Functions in 7.0.3
|
| Список | pgsql-sql |
<plpgsql@polar-digital.com> 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
В списке pgsql-sql по дате отправления: