Re: FOREIGN KEY Reference on multiple columns

Поиск
Список
Период
Сортировка
От Adrian Klaver
Тема Re: FOREIGN KEY Reference on multiple columns
Дата
Msg-id 5421725E.3030007@aklaver.com
обсуждение исходный текст
Ответ на Re: FOREIGN KEY Reference on multiple columns  (Weiss, Jörg <J.Weiss@dvz-mv.de>)
Список pgsql-sql
On 09/23/2014 04:38 AM, Weiss, Jörg wrote:
>> -----Ursprüngliche Nachricht-----
>> Von: Luca Vernini [mailto:lucazeo@gmail.com]
>> Gesendet: Dienstag, 23. September 2014 11:59
>> An: Weiss, Jörg
>> Cc: pgsql-sql@postgresql.org
>> Betreff: Re: [SQL] FOREIGN KEY Reference on multiple columns
>>
>> 2014-09-23 11:54 GMT+02:00 Weiss, Jörg <J.Weiss@dvz-mv.de>:
>>> Hi!
>> Hi.
>>
>>> Is it possible to create a “FOREIGN KEY CONSTRAINT” with references to
>>> multiple columns of the reference table?
>>
>> Yes, it is.
>>
>> see here:
>> http://www.postgresql.org/docs/9.3/static/ddl-constraints.html
>> Section 5.3.5 there are some examples. One of them has multiple
>> columns, just like your case.
>>
>>> Regards …
>>
>> Regards.
>
> Thank you!
>
> Do you mean this example?
> CREATE TABLE t1 (
>    a integer PRIMARY KEY,
>    b integer,
>    c integer,
>    FOREIGN KEY (b, c) REFERENCES other_table (c1, c2)
> );
> This is not, what I want.
>
> In my case it should be something like this:
> CREATE TABLE t1 (
>    a integer PRIMARY KEY,
>    b integer,
>    c integer,
>    FOREIGN KEY (b) REFERENCES other_table (c1, c2='c2Value')
> );
> This example does not work. But I think you can see, what I mean.

Foreign keys do not support the when clause. In your original example 
there is also the problem that value is not part of a unique index or 
the primary key.

>
>
>


-- 
Adrian Klaver
adrian.klaver@aklaver.com



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

Предыдущее
От: Weiss, Jörg
Дата:
Сообщение: Re: FOREIGN KEY Reference on multiple columns
Следующее
От: Luca Vernini
Дата:
Сообщение: Re: FOREIGN KEY Reference on multiple columns