Re: Please help to wite the constraint.

Поиск
Список
Период
Сортировка
От Samer Abukhait
Тема Re: Please help to wite the constraint.
Дата
Msg-id 7d215b0c0511212155i53c44f0en3f91cd6bde3b2140@mail.gmail.com
обсуждение исходный текст
Ответ на Please help to wite the constraint.  ("Grigory O. Ptashko" <trancer@bk.ru>)
Ответы Re: Please help to wite the constraint.  ("Grigory O. Ptashko" <trancer@bk.ru>)
Список pgsql-sql
I can't understand why you are doing this big cycle.. but certainly
when constraints can't help you.. you can use triggers to enforce
integrity..

On 11/20/05, Grigory O. Ptashko <trancer@bk.ru> wrote:
> Hello, everybody!
>
> I don't whether it is possible to do the following but anyway I can't.
> I need to write a constraint as described below.
> Here are four tables:
>
>
> CREATE TABLE countries
> (id SERIAL,
>  name VARCHAR(255),
>  PRIMARY KEY (id)
> );
>
> CREATE TABLE countries_names
> (id INT NOT NULL,
>  id_lang INT NOT NULL,
>  name VARCHAR(255),
>  PRIMARY KEY (id, id_lang),
>  FOREIGN KEY (id) REFERENCES countries (id),
>  FOREIGN KEY (id_lang) REFERENCES lang (id)
>
> );
>
> CREATE TABLE contact_info_fields
> (id SERIAL,
>  name VARCHAR(255) NOT NULL,
>  PRIMARY KEY (id)
> );
>
> CREATE TABLE contact_info_records
> (id_user INT NOT NULL,
>  id_ci_field INT NOT NULL,
>  id_lang INT NOT NULL,
>  value TEXT,
>  PRIMARY KEY (id_user, id_ci_field, id_lang),
>  FOREIGN KEY (id_user) REFERENCES users (id),
>  FOREIGN KEY (id_ci_field) REFERENCES contact_info_fields (id),
>  FOREIGN KEY (id_lang) REFERENCES lang (id)
> );
>
>
>
> The last table contains contact information records of different types. These types are taken from the table
contact_info_fields.In particular, there can be the type 'country' say with id=1. Then the contact_info_records table
cancontain the following info: id_ci_field=1 and the VALUE field must contain a country's name but ONLY if it exists in
thecountries table (column 'name'). So it turns out to be a wierd foreign key. Is it possible to write such a
constraint?
>
> Thanks!
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 2: Don't 'kill -9' the postmaster
>

В списке pgsql-sql по дате отправления:

Предыдущее
От: Hélder M. Vieira
Дата:
Сообщение: Re: max() unexpected type conversion
Следующее
От: Richard Huxton
Дата:
Сообщение: Re: tid_le comparison for tuple id (ctid) values?