Re: reuse RECORD in function 'select into'?

From: Josh Berkus <josh(at)agliodbs(dot)com>
To: Rory Campbell-Lange <rory(at)campbell-lange(dot)net>, Postgresql Novice List <pgsql-novice(at)postgresql(dot)org>
Subject: Re: reuse RECORD in function 'select into'?
Date: 2003-05-27 16:12:07
Message-ID: 200305270912.07643.josh@agliodbs.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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

In response to

Responses

Browse pgsql-novice by date

  From Date Subject
Next Message Rory Campbell-Lange 2003-05-27 16:42:25 Re: reuse RECORD in function 'select into'?
Previous Message Rory Campbell-Lange 2003-05-27 15:42:49 reuse RECORD in function 'select into'?