Re: Is it possible to redirect an update/insert/delete to a different table?

From: Andy Ballingall <andy(at)areyoulocal(dot)co(dot)uk>
To: "'Jaime Casanova'" <systemguards(at)gmail(dot)com>
Cc: <pgsql-sql(at)postgresql(dot)org>
Subject: Re: Is it possible to redirect an update/insert/delete to a different table?
Date: 2005-11-20 15:40:41
Message-ID: ECOWS02M7sInp0vS0DO0004c584@smtp-out2.blueyonder.co.uk
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Hello Jaime,

I'm still not quite clear.

Say I have a number of different updates on a table 'apples' in my code,
including:

UPDATE apples set pips=6 and color='yellow' where id=3;
UPDATE apples set size=10 where id=6;

What would a rule look like which, when *any* update is attempted on the
apples table, will instead apply the update to a different table - 'pears'.

I get this far:

CREATE rule pears_instead_of_apples
AS ON UPDATE TO apples
DO INSTEAD UPDATE INTO pears .....;

What do I put where the ..... is, so that the rule will transparently update
the pears table with whatever values happened to be defined by the original
update command? Is there a special keyword that I've missed?

Regards,
Andy Ballingall

-----Original Message-----
From: Jaime Casanova [mailto:systemguards(at)gmail(dot)com]
Sent: 20 November 2005 14:23
To: andy(at)areyoulocal(dot)co(dot)uk
Cc: pgsql-sql(at)postgresql(dot)org
Subject: Re: Is it possible to redirect an update/insert/delete to a
different table?

> I've looked through rules, and as far as I can make out, they are only
> useful for explicit actions. I'm looking for something that behaves as
> though it simply substitutes the table name for a different table name
> before executing the command, no matter what the command looks like.
>

Make 3 rules (INSERT/UPDATE/DELETE), 4 if you want SELECT as well...

--
regards,
Jaime Casanova
(DBA: DataBase Aniquilator ;)

--
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.1.362 / Virus Database: 267.13.4/176 - Release Date: 20/11/2005

In response to

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Andreas Kretschmer 2005-11-20 16:17:15 Re: Is it possible to redirect an update/insert/delete to a different table?
Previous Message Joost Kraaijeveld 2005-11-20 15:36:30 Re: Trigger / rule question