Re: variable use for selects

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "Allen, Danni" <Danni(dot)Allen(at)Avnet(dot)com>
Cc: "pgsql-novice(at)postgresql(dot)org" <pgsql-novice(at)postgresql(dot)org>
Subject: Re: variable use for selects
Date: 2009-07-06 05:14:33
Message-ID: 26773.1246857273@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-novice

"Allen, Danni" <Danni(dot)Allen(at)Avnet(dot)com> writes:
> I'm doing the following:

> myseriestable := myleagueid || '_' || myleaguename || '_series';
> myseriesid := (select seriesid from myseriestable order by seriesid desc limit 1);

You can't use a variable where a table name is required.

If you are absolutely intent on doing this, you could construct the
whole query (not just the table name) as a string and EXECUTE it.
However, my advice would be to rethink your database schema. Anytime
you have N tables with the same layout, you should consider whether
they oughtn't be one table with an extra key column (or maybe two
columns, in this example). What you're doing is basically simulating
the extra key columns by hand, and it is generally *not* any kind of
efficiency win to do that.

regards, tom lane

In response to

Responses

Browse pgsql-novice by date

  From Date Subject
Next Message Allen, Danni 2009-07-06 05:20:04 Re: variable use for selects
Previous Message richard terry 2009-07-05 07:34:44 Re: Are views created 'on the fly'