From: Guillaume Lelarge <guillaume@lelarge.info>
To: F. BROUARD / SQLpro <sqlpro@club-internet.fr>
Cc: pgsql-sql@postgresql.org
Subject: Re: [GENERAL] Creating rule for sliding data
Date: Sun, 09 Oct 2011 19:07:24 +0200
Message-ID: <1318180045.2107.2.camel@localhost.localdomain> (raw)
In-Reply-To: <4E91D0BC.2030406@club-internet.fr>
References: <4E917601.4040700@club-internet.fr>
<4E91D0BC.2030406@club-internet.fr>
Hi,
On Sun, 2011-10-09 at 18:50 +0200, F. BROUARD / SQLpro wrote:
> I am answering to myseilf...
>
> the good syntax is something like :
>
>
> CREATE RULE R_U_MSR_BEFORE2000x
> AS
> ON UPDATE TO T_MESURE_MSR
> WHERE ( NEW.MSR_DATE < DATE '2000-01-01' )
> DO INSTEAD
> (
> -- rows does not change partition :
> UPDATE T_MESURE_BEFORE2000_MSR
> SET MSR_ID = NEW.MSR_ID,
> MSR_DATE = NEW.MSR_DATE,
> MSR_MESURE = NEW.MSR_MESURE
> WHERE ( OLD.MSR_DATE < DATE '2000-01-01' );
> -- rows does change partition (first INSERT NEWs then DELETE OLDs)
> INSERT INTO T_MESURE_MSR
> SELECT MSR_ID,
> MSR_DATE,
> MSR_MESURE
> FROM NEW
> WHERE NOT ( OLD.MSR_DATE < DATE '2000-01-01' ); ;
> DELETE FROM T_MESURE_MSR
> WHERE MSR_ID = OLD.MSR_ID
> AND MSR_DATE = OLD.MSR_DATE
> AND MSR_MESURE = OLD.MSR_MESURE
> AND NOT ( OLD.MSR_DATE < DATE '2000-01-01' );
> );
>
> The problem is nowhere in the doc there is a mention where much more
> than one commande must be place into brackets !
>
As a matter of fact, it does:
CREATE [ OR REPLACE ] RULE name AS ON event
TO table [ WHERE condition ]
DO [ ALSO | INSTEAD ] { NOTHING | command | ( command ; command ... ) }
^ ^
| |
See -----------------------------------------+------------------------
Extract from
http://www.postgresql.org/docs/9.1/interactive/sql-createrule.html
--
Guillaume
http://blog.guillaume.lelarge.infohttp://www.dalibo.com
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-sql@postgresql.org
Cc: guillaume@lelarge.info, sqlpro@club-internet.fr
Subject: Re: [GENERAL] Creating rule for sliding data
In-Reply-To: <1318180045.2107.2.camel@localhost.localdomain>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox