Re: FOREIGN KEY Reference on multiple columns
От | Weiss, Jörg |
---|---|
Тема | Re: FOREIGN KEY Reference on multiple columns |
Дата | |
Msg-id | 4B4E89127868BD458A795430BCF4FD1328C53C1B@DVZSN-RA0325.bk.dvz-mv.net обсуждение исходный текст |
Ответ на | Re: FOREIGN KEY Reference on multiple columns (Tim Landscheidt <tim@tim-landscheidt.de>) |
Список | pgsql-sql |
> -----Ursprüngliche Nachricht----- > Von: pgsql-sql-owner@postgresql.org [mailto:pgsql-sql- > owner@postgresql.org] Im Auftrag von Tim Landscheidt > Gesendet: Mittwoch, 24. September 2014 20:03 > An: pgsql-sql@postgresql.org > Betreff: Re: [SQL] FOREIGN KEY Reference on multiple columns > > "Weiss, Jörg" <J.Weiss@dvz-mv.de> wrote: > > > I mean b must equal to c1 in the "other_table" where c2 has a certain value > (for example c2 ). > > > For my first example: > > CREATE TABLE parm > > ( > > complex varchar(20) NOT NULL, > > para varchar(50) NOT NULL, > > sort int4 NOT NULL DEFAULT 10, > > value varchar(50) NULL, > > CONSTRAINT parm_pkey PRIMARY KEY (complex, para, sort) > > ) > > > Table user > > CREATE TABLE user > > ( > > name varchar(20) NOT NULL, > > type integer NULL > > ) > > In this case "type" of table user must equal to "value" of table "parm" and > "para" must be "login_user" (for example) > > > [...] > > You can achieve that by duplicating the para column to the > table user, adding a foreign key that matches both columns > to table parm and checks in table user whether para is > "login_user". That doesn't work for NULLable columns, > though. > > Tim > Yes of cause, this seems to be the best way. Thank You!
В списке pgsql-sql по дате отправления: