rule as on insert to view with multiple fk referencing the same table

From: Joan Picanyol <lists-pgsql(at)biaix(dot)org>
To: pgsql-general(at)postgresql(dot)org
Subject: rule as on insert to view with multiple fk referencing the same table
Date: 2004-03-16 21:22:22
Message-ID: 20040316212222.GB17927@grummit.biaix.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi,

I have a schema which simplifies to the following:

create table a (id serial not null primary key, data int);
create table b (id serial not null primary key, data int\
ref1 int references a not null, ref2 int references a not null,\
ref3 int references a);
create view vw (data_a, data_b1, data_b2, data_b3) as select \
(b.data as data_b, a1.data as data_a1, a2.data as data_a2,\
a3.data as data_a3) from b, a a1, a a2, a a3 where b.ref1=a1.id\
and b.ref2=a2.id and b.ref3=a3.id;

And now I want to create an insert rule into vw with all my foreign keys
properly set. I can't think of anything better that doing first the
three inserts into a and then use nextval()-1, nextval()-2 etc for the
fk values, but it looks really ugly (even though I could wrap up within
a BEGIN(...)COMMIT).

What's the 'canonical' way to do this?

tks
--
pica

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Bruce Momjian 2004-03-16 22:02:28 Re: fsync
Previous Message Josué Maldonado 2004-03-16 21:11:59 Lock inside trigger