Re: Cursors and recursion

Поиск
Список
Период
Сортировка
От Don Croata
Тема Re: Cursors and recursion
Дата
Msg-id be9533860512281137u42cc2a16hcd2d5b703a809bdd@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Cursors and recursion  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: Cursors and recursion  (Michael Fuhr <mike@fuhr.org>)
Список pgsql-sql
Please, if someone recalls a link, book, piece of code or anything with info about this technique for PL/PgSQL (8.1), please let us know. We've been searching into google, groups.google, http://archives.postgresql.org and http://www.postgresql.org/docs/8.1/interactive with no results. Most of the answers are related to unclosed cursors for the "ERROR: cursor ... already in use" message.
 
Here's the sample code for this issue (i.e. error because cursor already defined in recursive PL/PgSQL function) at: http://www.croata.cl/cur.sql
 
--
 
Thanx again,
Cro
 
On 12/28/05, Tom Lane <tgl@sss.pgh.pa.us> wrote:
Don Croata <el.croata@gmail.com> writes:
> It's a function who has a cursor and calls itself, but the problem raises
> after the first recursion, when PgSQL complains:

> ERROR:  cursor "cur" already in use

> Are the cursors kept globally? or cached like TEMP TABLE?

Cursor names are global within a particular session.

IIRC there is a syntax for opening a cursor without specifying a name,
in which case plpgsql will pick one that's not in use.  This is probably
what you want to use.

                       regards, tom lane

В списке pgsql-sql по дате отправления:

Предыдущее
От: Michael Fuhr
Дата:
Сообщение: Re: Cursors and recursion
Следующее
От: "George Pavlov"
Дата:
Сообщение: DISTINCT with NULLs and INT fields