From: | Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us> |
---|---|
To: | Arcady Genkin <a(dot)genkin(at)utoronto(dot)ca> |
Cc: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: tricky CHECK condition |
Date: | 2000-05-23 04:35:54 |
Message-ID: | 200005230435.AAA26984@candle.pha.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Multi-column unique index?
> How could I specify a condition in 'CHECK' constraint for a column to
> check that its value must only appear once in *some* rows of a table?
> Sort of a local "UNIQUE"... For example, in CDs world:
>
> create table tracks (
> -- Unique track identifier
> id serial primary key,
> -- Which disk the track is from
> disk_id int4 references disks (id),
> -- Track number in a disk
> track_number int2,
> check (WHAT I WANT GOES HERE) );
>
> I want to check values of `track_number' to be unique for the
> disk. Basically, I want to check that an SQL query
>
> select track_number from tracks T
> where T.disk_id=disk_id and T.track_number=track_number;
>
> is empty... Is it possible to run an SQL query in a condition clause?
> I looked thru documentation, but couldn't find anything relevant.
> --
> Arcady Genkin http://www.thpoon.com
> Nostalgia isn't what it used to be.
>
--
Bruce Momjian | http://www.op.net/~candle
pgman(at)candle(dot)pha(dot)pa(dot)us | (610) 853-3000
+ If your life is a hard drive, | 830 Blythe Avenue
+ Christ can be your backup. | Drexel Hill, Pennsylvania 19026
From | Date | Subject | |
---|---|---|---|
Next Message | Arcady Genkin | 2000-05-23 04:52:40 | Re: tricky CHECK condition |
Previous Message | Arcady Genkin | 2000-05-23 04:25:58 | tricky CHECK condition |