From: | Shane Ambler <pgsql(at)007Marketing(dot)com> |
---|---|
To: | Egil Möller <redhog(at)redhog(dot)org> |
Cc: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: new and old not available in rule subselects? |
Date: | 2006-11-03 11:04:51 |
Message-ID: | 454B2253.5060803@007Marketing.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Egil Möller wrote:
> It seems like you can not use the magical relations new and old in
> sub-selects in rules. Why is this, or is there something I haven't
> understood correctly about rules and new and old?
>
> create table "user" (
> username varchar,
> created timestamp default now(),
> detstroyed timestamp default null);
>
> create table users (
> time timestamp,
> users bigint);
>
> create rule user_insert_count as
> on update to "user"
> do also
> select
> new.created, (select count(*) from new where destroyed is null)
> into users
> from new;
>
> ERROR: relation "*NEW*" does not exist
>
> Thanks in advance,
> Egil
select count(*) from new ??? - new refers to a record not a table name
Try
create rule user_insert_count as
on update to "user"
do also
insert into users (time,users) values (
new.created, (select count(*) from "user" where destroyed is null));
--
Shane Ambler
pgSQL(at)007Marketing(dot)com
Get Sheeky @ http://Sheeky.Biz
From | Date | Subject | |
---|---|---|---|
Next Message | Magnus Hagander | 2006-11-03 11:07:06 | Re: Counting records in a PL/pgsql cursor |
Previous Message | Richard Huxton | 2006-11-03 10:58:45 | Re: start up and shut down script |