Re: Table Copy. - Mailing list pgsql-sql

From Michael Paesold
Subject Re: Table Copy.
Date
Msg-id 005501c26007$e2aa3bc0$4201a8c0@beeblebrox
Whole thread Raw
In response to Table Copy.  (PostgreSQL Server <postgres@rsd.it>)
List pgsql-sql
Alex wrote:
> HI!
> 
> I'm new to postgres. I need to have a table as a copy of another one.
> 
> Example:
> 
> CREATE TABLE one (
>         fileda INTEGER,
>         filedb INTEGER,
>         filedc INTEGER );
> 
> CREATE TABLE two (
>         fileda INTEGER,
>         filedb INTEGER,
>         filedc INTEGER );
> 
> As on insert to table one I should get the same insert on table two.
> As on delete to table one I should get the same delete on table two.
> As on update to table one I should get the same update on table two.
> 
> Can someone provide the examples i can study ?

You could do it with RULEs. Here is an example how you would do the DELETE.

CREATE RULE copy_one_to_two AS ON DELETE TO one DO   DELETE FROM two   WHERE two.fileda=OLD.fileda     AND
two.filedb=OLD.filedb    AND two.filedc=OLD.filedc;
 

You should change the where clause if you have a primary key on that table.
I am presuming fileda/filedb/filedc are unique in combination...
Read the section of the docs about RULEs for INSERT and UPDATE examples.

Regards,
Michael Paesold



pgsql-sql by date:

Previous
From: Andreas Joseph Krogh
Date:
Subject: Re: Stripping white-space in SELECT statments
Next
From: Ricardo Javier Aranibar León
Date:
Subject: problem with query