variable use for selects - Mailing list pgsql-novice

From Allen, Danni
Subject variable use for selects
Date
Msg-id 886E976A8FF9F542A773654109551F7B06C06CE2@CMX032USRVS.AVNET.COM
Whole thread Raw
Responses Re: variable use for selects  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-novice

Hi,

 

I am new to sql and even newer to postgres.  I’m sure this is very basic and that is why I cannot find anyone else running into the same problem.  Hopefully this is trivial and is just a matter of knowing what is and isn’t legal syntax wise…

 

I’m doing the following:

 

myleaguename := (select league from data_league where leagueid = myleagueid);

 

-- BEGIN Create the league series table

myseriestable := myleagueid || '_' || myleaguename || '_series';

myseriestableexec := 'CREATE TABLE ' || myseriestable || '(seriesid integer NOT NULL, seriesname character varying(5) NOT NULL, divisionid integer NOT NULL, leagueid integer NOT NULL, CONSTRAINT bask_series_pkey PRIMARY KEY (seriesid), CONSTRAINT bask_series_leagueid_fkey FOREIGN KEY (leagueid) REFERENCES data_league (leagueid) MATCH SIMPLE ON UPDATE NO ACTION ON DELETE NO ACTION) WITH (OIDS=FALSE); ALTER TABLE ' || myseriestable || ' OWNER TO postgres;';

execute myseriestableexec;

-- END Create the league series table

 

myseriesid := (select seriesid from myseriestable order by seriesid desc limit 1);

 

 

ERROR:  syntax error at or near "$1"

LINE 1: SELECT  (select seriesid from  $1  order by seriesid desc li...

                                       ^

 

The carat is actually pointing at the variable itself.  I’m wondering if it is possible to assign the result to that variable (myseriesid) as is or do I have to build the string and execute it separately, much like the creation of the table above?  Postgres won’t expand it for me in the line as is?  Is that correct?

 

Thanks,

Danni

pgsql-novice by date:

Previous
From: richard terry
Date:
Subject: Re: Are views created 'on the fly'
Next
From: Chris Browne
Date:
Subject: Re: pg_locks concern