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  (Joolz <joolz@xs4all.nl>)
Список 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 по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: Multicolumn indexes and ORDER BY
Следующее
От: Tom Lane
Дата:
Сообщение: Re: Multicolumn indexes and ORDER BY