Re: Rule appears not to fire on insert w/ "except"

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Chris Kratz <chris(dot)kratz(at)vistashare(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Rule appears not to fire on insert w/ "except"
Date: 2005-11-21 20:35:47
Message-ID: 3886.1132605347@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Chris Kratz <chris(dot)kratz(at)vistashare(dot)com> writes:
> CREATE OR REPLACE RULE debug_rule AS
> ON INSERT TO test1
> do INSERT INTO test_que (row_id)
> VALUES (new.id);

You would be a whole lot better off doing this with a trigger.

> insert into test1
> select id,data from test2
> except select id,data from test1;

I believe the problem with this is that the rule re-evaluates the
command to generate the "new" results, and by that point the rows
have already been inserted into test1, thus disappear from the
result of the "except" ...

regards, tom lane

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Emi Lu 2005-11-21 20:40:38 About not to see insertion result "INSERT 0 1"
Previous Message Chris Kratz 2005-11-21 20:27:33 Rule appears not to fire on insert w/ "except"