| 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: | Whole Thread | Raw Message | 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
| 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 |