Re: Where

From: Bob Pawley <rjpawley(at)shaw(dot)ca>
To: "Uwe C(dot) Schroeder" <uwe(at)oss4u(dot)com>, pgsql-general(at)postgresql(dot)org
Subject: Re: Where
Date: 2005-11-10 23:56:18
Message-ID: 02aa01c5e652$57b2a780$ac1d4318@OWNER
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Thank you - what is the correct command???

Bob

----- Original Message -----
From: "Uwe C. Schroeder" <uwe(at)oss4u(dot)com>
To: <pgsql-general(at)postgresql(dot)org>
Cc: "Bob Pawley" <rjpawley(at)shaw(dot)ca>
Sent: Thursday, November 10, 2005 3:34 PM
Subject: Re: [GENERAL] Where

>
> SELECT INTO xxxx
> tries to create table xxxx
> See: http://www.postgresql.org/docs/8.0/interactive/sql-selectinto.html
>
> Why do you do the select into anyways? It does nothing.
> If you try to update table pipe with the select result you have the wrong
> command.
>
> UC
>
> On Thursday 10 November 2005 14:24, Bob Pawley wrote:
>> I am attempting to transfer the data in the fluid_id column of table
>> process into column fluid_id of table pipe.
>>
>> This should happen only when column contain of table process holds the
>> value 'ip'.
>>
>> Here is the command that I am having trouble with.
>> -------
>> create table process (fluid_id integer primary key, process varchar,
>> contain varchar);
>>
>> create table pipe ( fluid_id integer not null, contain varchar);
>>
>>
>>
>> create or replace function base() returns trigger as $$
>>
>> begin
>>
>>
>>
>> insert into pipe (fluid_id) values (new.fluid_id);
>>
>> select * into pipe from process where contain = 'ip';
>>
>>
>>
>> return null;
>>
>>
>>
>> end;
>>
>> $$ language plpgsql;
>>
>>
>>
>> create trigger trig1 after insert on process
>>
>>
>>
>> for each row execute procedure base();
>>
>>
>>
>> insert into process (fluid_id, process, contain)
>>
>> values ('2', 'water', 'ip');
>>
>> -------------------
>> On inserting data this error comes back -
>> -------
>> ERROR: relation "pipe" already exists
>> CONTEXT: SQL statement "SELECT * INTO pipe from process where contain
>> =
>> 'ip'" PL/pgSQL function "base" line 4 at SQL statement
>> ------
>> Of course the table pipe does already exist - it is a permanent table.
>>
>> Is the program looking for some other target?? Perhaps a temporary
>> table??
>>
>>
>>
>> Or am I completely screwed up???
>>
>>
>>
>> Bob
>
> --
> UC
>
> --
> Open Source Solutions 4U, LLC 2570 Fleetwood Drive
> Phone: +1 650 872 2425 San Bruno, CA 94066
> Cell: +1 650 302 2405 United States
> Fax: +1 650 872 2417

In response to

  • Re: Where at 2005-11-10 23:34:34 from Uwe C. Schroeder

Responses

  • Re: Where at 2005-11-11 01:05:36 from Uwe C. Schroeder

Browse pgsql-general by date

  From Date Subject
Next Message Scott Frankel 2005-11-11 00:21:41 Re: pg_restore errors
Previous Message Tom Lane 2005-11-10 23:51:19 Re: pg_restore errors