| From: | Bob Pawley <rjpawley(at)shaw(dot)ca> | 
|---|---|
| To: | Postgresql <pgsql-general(at)postgresql(dot)org> | 
| Subject: | Inserting Data | 
| Date: | 2006-08-18 16:27:19 | 
| Message-ID: | 011301c6c2e3$3aaed960$8e904618@owner | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-general | 
Hi All
I have a basic problem that I hope can be addressed.
I need to insert data from one table into three other tables.
I attempted the following format.
 CREATE OR REPLACE FUNCTION p_id_monitor()
 RETURNS "trigger" AS
 $$
 Begin
 insert into p_id.loops (monitor) 
 Select p_id.devices.devices_id 
 Where p_id.devices.device_number = library.devices.device_number 
 and library.devices.type_ = 'mon' ;
 
 insert into p_id.settings (monitor) 
 Select p_id.devices.devices_id 
 Where p_id.devices.device_number = library.devices.device_number 
 and library.devices.type_ = 'mon' ;
 insert into p_id.alarms (monitor) 
 Select p_id.devices.devices_id 
 Where p_id.devices.device_number = library.devices.device_number 
 and library.devices.type_ = 'mon' ;
 Return Null ;
 End;
 $$
 LANGUAGE 'plpgsql' ;
 create trigger mon after insert on p_id.devices 
 for each row execute procedure p_id_monitor() ;
Unfortunately this gave multiple results on the target tables.
Is there a format that will give me a single insert for each original field without the need of creating three triggers???
Bob
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Merlin Moncure | 2006-08-18 18:20:15 | Re: Migrating PostgreSQL database to MySQL/MS Access | 
| Previous Message | Michael Meskes | 2006-08-18 16:01:02 | Re: Connection string |