Re: reference to a view
От | Stephan Szabo |
---|---|
Тема | Re: reference to a view |
Дата | |
Msg-id | 20040616075331.P12864@megazone.bigpanda.com обсуждение исходный текст |
Ответ на | reference to a view (Joolz <joolz@xs4all.nl>) |
Ответы |
Re: reference to a view
|
Список | pgsql-general |
On Wed, 16 Jun 2004, Joolz wrote: > In my db I have a table type_of_action, fields code varchar, name > varchar, medical boolean. Two other tables refer to this table, one of > them to the medical rows, the other one to the none-medical rows. I > would like to make the reference with a view, like this: > > create table type of action_type ( > code varchar, > name varchar, > medical boolean > ); > > create view action_type_medical as select * from action_type > where medical=true; > create view action_type_non_medical as select * from action_type > where medical=false; > > create table general_actions ( > field1, field2, field_etc, > action_type varchar references action_type_non_medical(code) > ); > > create table medical_actions ( > field1, field2, field_etc, > action_type varchar references action_type_medical(code) > ); > > But pg refuses this, can't create a reference to a view. I can now > create a trigger plus function that will do the check, but is there a > more elegant way? Thanks! Not really right now. Note, that to do foreign keys properly you need triggers on action_type as well and those triggers need to take into account the view conditions to determine what checks to do.
В списке pgsql-general по дате отправления: