Re: Creating foreign key constraint to child table?
От | Allan Engelhardt |
---|---|
Тема | Re: Creating foreign key constraint to child table? |
Дата | |
Msg-id | 3B6DA4C4.CEC3B8F2@cybaea.com обсуждение исходный текст |
Ответ на | Re: Creating foreign key constraint to child table? (Stephan Szabo <sszabo@megazone23.bigpanda.com>) |
Список | pgsql-sql |
Stephan Szabo wrote: > On Sun, 5 Aug 2001, Allan Engelhardt wrote: [see new example below] > Not that this is related to what you asked about precisely (I saw the > response you made), but the query above also doesn't do what you think > it does right now. It currently makes a reference to only foo, not > any subchildren of foo. Oh, man! You are right, but this sux big time: there should not be an asymmetry between a FOREIGN KEY constraint and theSELECT statement. Now that the default is SQL_INHERITANCE ON, it should be the default for the constraint as well, IMHO. 1. Am I the only one who thinks this is a bug? 2. How would I get the behaviour I expect? Write my own trigger? :-P --- Allan. test=# create table foo (id integer primary key); test=# create table bar () inherits (foo); test=# create table baz (bar integer, constraint fk_bar foreign key (bar) references foo(id)); test=# insert into foo values (1); test=# insert into bar values (2); test=# insert into baz values (2); ERROR: fk_bar referential integrity violation - key referenced from baz not found in foo test=# select * from foo where id = 2;id ---- 2 (1 row) test=#
В списке pgsql-sql по дате отправления: