Joined table view - multiple delete action rule - Mailing list pgsql-general

From Lieven Van Acker
Subject Joined table view - multiple delete action rule
Date
Msg-id 3AE6DC7D.B8FEB0E4@elisa.be
Whole thread Raw
Responses Re: Joined table view - multiple delete action rule
List pgsql-general
Hi all,

I'm coding a DB and I noticed the following strange thing:

CREATE TABLE a (x integer PRIMARY KEY,y integer);
CREATE TABLE b (x integer REFERENCES a, z integer, PRIMARY KEY (x,y))

CREATE VIEW ab AS
    SELECT a.x, a.y, b.z
    FROM a,b
    WHERE a.x=b.x;

/* this -insert- seems to work */

CREATE RULE ab_ins AS ON INSERT TO ab DO INSTEAD (
    INSERT INTO a(x,y) VALUES (new.x, new.y);
    INSERT INTO b(x,z) VALUES (new.x, new.z);
);

/* this -delete- does not work */

CREATE RULE ab_del AS ON DELETE TO ab DO INSTEAD (
    DELETE FROM b WHERE (x=old.x) AND (y=old.y);
    DELETE FROM a WHERE (x=old.x);
);

Anyone has an explanation for this? I'm using PostgreSQL 7.0.3.

Greetings,

Lieven


pgsql-general by date:

Previous
From: Justin Clift
Date:
Subject: Re: Question on Bizarre Sorting (ORDER BY in 7.1) (fwd)
Next
From: Jan Ploski
Date:
Subject: SUM()ming a view's column