I have a table labeled p_id.processes. One row is inserted into it by another source containing fluid_id 3501 and other fields.

The update statement -
update p_id.processes
  set pump1 = 'True'
  where p_id.processes.fluid_id = '3501' ;
updates the field pump1 to 'True'.

The After Update trigger has an insert statement that inserts the p_id.processes row into the table p_id.devices. For pump1 I want only one row inserted into p_id.devices containing fluid_id = '3501 and 'Pump #1'.

Insert statement -
Begin

If new.pump1 = 'True'

then

Insert into p_id.devices (p_id_id, process_id, fluid_id, status, process_graphics_id, device_description) values (new.p_id_id, new.process_id, new.fluid_id, 'Pump #1', '11', 'Pump');

End if;

Instead I get two identical rows inserted containing the fluid_id = '3501' and 'Pump #1'.

Bob


----- Original Message ----- From: "Adrian Klaver" <adrian.kla...@gmail.com>
To: "Bob Pawley" <rjpaw...@shaw.ca>
Cc: "Tom Lane" <t...@sss.pgh.pa.us>; "Postgresql" <pgsql-general@postgresql.org>
Sent: Friday, January 22, 2010 1:24 PM
Subject: Re: [GENERAL] Old/New


On 01/22/2010 01:16 PM, Bob Pawley wrote:
I have a single row that is being duplicated on insert.

Update statement -
update p_id.processes
set pump1 = 'True'
where p_id.processes.fluid_id = '3501' ;

The proper field is updated.

Bob



This is insufficient detail. What is the row? What are the two versions? Is the insert you are talking about being done on the table with the trigger or the table referred to in the trigger?


--
Adrian Klaver
adrian.kla...@gmail.com

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general


--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Reply via email to