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 по дате отправления: