From: | Vincenzo Romano <vincenzo(dot)romano(at)gmail(dot)com> |
---|---|
To: | pgsql-novice(at)postgresql(dot)org |
Subject: | Rule creation and evaluation order |
Date: | 2005-06-29 11:30:07 |
Message-ID: | 200506291330.07522.Vincenzo.Romano@gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-novice |
Hi all.
I've already read the friendly manual but have not found any clue.
I would like to do some calculation on the rows of a table every time it
gets updated.
I've decided to use:
create table table1 (
afield integrer,
id integrer
);
create table table2 (
overall integer,
id integer unique not null,
primary key(id)
);
create rule myrule
as on update
to table1
do also
update table2
set overall=(select count(*) from table1 where afield>0 and
table1.id=NEW.id)
from table1
where table2.id = NEW.id
;
What it seems to me is that the table "table1 t1" is being processed *before*
the update and not *after*. Infact the sum() returns the old value.
Is this the expected behaviour?
How can I have my rule action run *after* the actual update?
Thanks to anyone that can help me.
--
Vincenzo Romano
--
Maybe Computers will never be as intelligent as Humans.
For sure they won't ever become so stupid. [VR-1988]
From | Date | Subject | |
---|---|---|---|
Next Message | Michael Fuhr | 2005-06-29 13:03:42 | Re: Sstored Procedures |
Previous Message | Christoph Della Valle | 2005-06-29 08:53:55 | Re: posgres file |