Re: reuse RECORD in function 'select into'?

Поиск
Список
Период
Сортировка
От Josh Berkus
Тема Re: reuse RECORD in function 'select into'?
Дата
Msg-id 200305270912.07643.josh@agliodbs.com
обсуждение исходный текст
Ответ на reuse RECORD in function 'select into'?  (Rory Campbell-Lange <rory@campbell-lange.net>)
Ответы Re: reuse RECORD in function 'select into'?  (Rory Campbell-Lange <rory@campbell-lange.net>)
Список pgsql-novice
Rory,

> In the function below I do four "select into" actions to check if
> particular values already exist in any one of several tables.
>
> Can I reuse the RECORD for each 'select into'? The RECORDs are
> presumably empty after each select into, as the function needs FOUND to
> be false to continue.

You certainly can, technically.  In fact, you don't even need the RECORD to be
empty.

But you want to be *real* careful doing this.  Re-using variables for
different purposes (in procedural languages), in general, is a very bad idea
unless you are desperately shourt of memory.   It's far too easy to lose
track of a re-used variable and waste hours debugging.

O'Reilly's "PL/SQL Programming"  has an excellent chapter on good programming
practives for SQL-procedural languages that I would love to razor out and
distribute as a pamphlet.   It would be worth a gander the next time you have
a long lunch in your local tech book store.

> Also, should I "RETURN 0" after a RAISE EXCEPTION?

Yes, to make the parser happy.

--
Josh Berkus
Aglio Database Solutions
San Francisco

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

Предыдущее
От: Rory Campbell-Lange
Дата:
Сообщение: reuse RECORD in function 'select into'?
Следующее
От: Rory Campbell-Lange
Дата:
Сообщение: Re: reuse RECORD in function 'select into'?