Re: FOREIGN KEY Reference on multiple columns - Mailing list pgsql-sql

From Weiss, Jörg
Subject Re: FOREIGN KEY Reference on multiple columns
Date
Msg-id 4B4E89127868BD458A795430BCF4FD1328C53C1B@DVZSN-RA0325.bk.dvz-mv.net
Whole thread Raw
In response to Re: FOREIGN KEY Reference on multiple columns  (Tim Landscheidt <tim@tim-landscheidt.de>)
List 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 by date:

Previous
From: Tim Landscheidt
Date:
Subject: Re: FOREIGN KEY Reference on multiple columns
Next
From: Gerardo Herzig
Date:
Subject: uuid for each postgres install?