Thread
-
temp table creation
Alfonso Peniche <alfonso@iteso.mx> — 2001-02-15T01:09:27Z
What's wrong with this function? The syntax is supposed to be right, isn't it? Create function UsaTablaTemporal() RETURNS integer AS ' BEGIN SELECT p.apellidos, p.nombres, u.username INTO TEMP TABLE mitabla FROM persona p, usuario u WHERE p.idpersona = u.idusuario AND p.idpersona = 3278; RETURN 1; END;' LANGUAGE 'plpgsql'; If I run: select usatablatemporal(); I get the message: ERROR: parser: parse error at or near "temp" Thanx -
Re: temp table creation
Tom Lane <tgl@sss.pgh.pa.us> — 2001-02-15T01:54:51Z
Alfonso Peniche <alfonso@iteso.mx> writes: > What's wrong with this function? The syntax is supposed to be right, > isn't it? No, it isn't right, not for plpgsql. SELECT INTO means something different to plpgsql than it does in normal Postgres SQL. regards, tom lane
-
Re: temp table creation
Alfonso Peniche <alfonso@iteso.mx> — 2001-02-15T15:26:25Z
In that case, how could I create a temporary table from plpgsql? (I don't want to use select into table.......) Thanx Tom Lane wrote: > Alfonso Peniche <alfonso@iteso.mx> writes: > > What's wrong with this function? The syntax is supposed to be right, > > isn't it? > > No, it isn't right, not for plpgsql. SELECT INTO means something > different to plpgsql than it does in normal Postgres SQL. > > regards, tom lane
-
Re: Re: temp table creation
Tom Lane <tgl@sss.pgh.pa.us> — 2001-02-15T15:35:58Z
Alfonso Peniche <alfonso@iteso.mx> writes: > In that case, how could I create a temporary table from plpgsql? CREATE [TEMP] TABLE foo AS SELECT ... This is equivalent to SELECT INTO [TEMP] foo in regular SQL, and does not change meaning in plpgsql. regards, tom lane
-
Re: [GENERAL] Re: temp table creation
Bruce Momjian <pgman@candle.pha.pa.us> — 2001-03-20T00:17:36Z
This should be in the docs somewhere. Is it? > Alfonso Peniche <alfonso@iteso.mx> writes: > > In that case, how could I create a temporary table from plpgsql? > > CREATE [TEMP] TABLE foo AS SELECT ... > > This is equivalent to SELECT INTO [TEMP] foo in regular SQL, and > does not change meaning in plpgsql. > > regards, tom lane > -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 853-3000 + If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill, Pennsylvania 19026
-
Re: [GENERAL] Re: temp table creation
Alfonso Peniche <alfonso@iteso.mx> — 2001-03-20T16:28:04Z
Yes Bruce, IT IS In the new documentation (7.1 release), but not in previous versions. If you want me to be specific, it's in the reference manual under SQL Commands - CREATE TABLE AS..... Cheers Bruce Momjian wrote: > This should be in the docs somewhere. Is it? > > > Alfonso Peniche <alfonso@iteso.mx> writes: > > > In that case, how could I create a temporary table from plpgsql? > > > > CREATE [TEMP] TABLE foo AS SELECT ... > > > > This is equivalent to SELECT INTO [TEMP] foo in regular SQL, and > > does not change meaning in plpgsql. > > > > regards, tom lane > > > > -- > Bruce Momjian | http://candle.pha.pa.us > pgman@candle.pha.pa.us | (610) 853-3000 > + If your life is a hard drive, | 830 Blythe Avenue > + Christ can be your backup. | Drexel Hill, Pennsylvania 19026
-
Re: [GENERAL] Re: temp table creation
Bruce Momjian <pgman@candle.pha.pa.us> — 2001-03-20T16:47:41Z
> Yes Bruce, IT IS In the new documentation (7.1 release), but not in previous > versions. If you want me to be specific, it's in the reference manual under > SQL Commands - CREATE TABLE AS..... > > Cheers Great. Seemed like a nifty trick to get around a parser problem. > > Bruce Momjian wrote: > > > This should be in the docs somewhere. Is it? > > > > > Alfonso Peniche <alfonso@iteso.mx> writes: > > > > In that case, how could I create a temporary table from plpgsql? > > > > > > CREATE [TEMP] TABLE foo AS SELECT ... > > > > > > This is equivalent to SELECT INTO [TEMP] foo in regular SQL, and > > > does not change meaning in plpgsql. > > > > > > regards, tom lane > > > > > > > -- > > Bruce Momjian | http://candle.pha.pa.us > > pgman@candle.pha.pa.us | (610) 853-3000 > > + If your life is a hard drive, | 830 Blythe Avenue > > + Christ can be your backup. | Drexel Hill, Pennsylvania 19026 > > -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 853-3000 + If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill, Pennsylvania 19026
-
Re: Re: [GENERAL] Re: temp table creation
Tom Lane <tgl@sss.pgh.pa.us> — 2001-03-20T17:14:22Z
Bruce Momjian <pgman@candle.pha.pa.us> writes: >>>> This should be in the docs somewhere. Is it? Actually, I thought the question was not about whether CREATE TABLE AS is documented, but about the specific point of it being the thing to use for this purpose in plpgsql: >> In that case, how could I create a temporary table from plpgsql? > CREATE [TEMP] TABLE foo AS SELECT ... > This is equivalent to SELECT INTO [TEMP] foo in regular SQL, and > does not change meaning in plpgsql. I have been thinking that our plain-SQL "SELECT INTO table" construct should be deprecated (and maybe eventually removed), since it really doesn't have much to do with the SQL-standard meaning of SELECT INTO: the spec contemplates INTO as introducing a list of scalar variables to be assigned to. plpgsql and ecpg both use this meaning for SELECT INTO. Would anyone object if I add text to the SELECT INTO ref page that points this out, and recommends CREATE TABLE AS as the preferred syntax? regards, tom lane
-
Re: Re: [GENERAL] Re: temp table creation
Peter Eisentraut <peter_e@gmx.net> — 2001-03-20T18:02:22Z
Tom Lane writes: > the spec contemplates INTO as introducing a list of scalar variables to > be assigned to. plpgsql and ecpg both use this meaning for SELECT INTO. > > Would anyone object if I add text to the SELECT INTO ref page that > points this out, and recommends CREATE TABLE AS as the preferred > syntax? I agree. SELECT INTO is misnamed; it sounds like INSERT ... SELECT. -- Peter Eisentraut peter_e@gmx.net http://yi.org/peter-e/
-
Re: Re: [GENERAL] Re: temp table creation
Bruce Momjian <pgman@candle.pha.pa.us> — 2001-03-20T18:32:49Z
> Tom Lane writes: > > > the spec contemplates INTO as introducing a list of scalar variables to > > be assigned to. plpgsql and ecpg both use this meaning for SELECT INTO. > > > > Would anyone object if I add text to the SELECT INTO ref page that > > points this out, and recommends CREATE TABLE AS as the preferred > > syntax? > > I agree. SELECT INTO is misnamed; it sounds like INSERT ... SELECT. Yes. -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 853-3000 + If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill, Pennsylvania 19026