references table(multiple columns go here) - Mailing list pgsql-sql

From Gary Stainburn
Subject references table(multiple columns go here)
Date
Msg-id 200212181625.11316.gary.stainburn@ringways.co.uk
Whole thread Raw
Responses Re: references table(multiple columns go here)  (Tomasz Myrta <jasiek@klaster.net>)
Re: references table(multiple columns go here)  (Tomasz Myrta <jasiek@klaster.net>)
Re: references table(multiple columns go here)  (Tomasz Myrta <jasiek@klaster.net>)
Re: references table(multiple columns go here)  (Tomasz Myrta <jasiek@klaster.net>)
List pgsql-sql
Hi folks, 

how do I define a referene from 2 columns in 1 table to 2 columns in another.

I have:

create table ranks (
rid         int4 default nextval('ranks_rid_seq'::text) unique not null,
rdid        character references depts(did), -- department
rrank        int4 not null,        -- departmental rank
rdesc        character varying(40)    -- Rank Description
);
create unique index "ranks_drank_index" on ranks using btree ("rdid", 
"rrank");

copy "ranks" from stdin;
1    O    1    Trainee TTI
2    O    2    TTI
3    M    1    Cleaner
4    M    2    Passed Cleaner
5    M    3    Fireman.
\.

I would now like to define the following table so that inserts can only happen 
if jdid matches rdid and jrank matches rrank.

create table jobtypes (
jid         int4 default nextval('jobs_jid_seq'::text) unique not null,
jdid        character references ranks(rdid),    -- This joint reference
jrank        int4 not null references ranks(rrank),    -- needs sorting
jdesc        character varying(40)    -- job description
);

copy "jobtypes" from stdin;
1    M    3    Charge Cleaner
2    O    3    Lock Carriages
\.

(I want the first row to work and the second to be rejected)
-- 
Gary Stainburn
This email does not contain private or confidential material as it
may be snooped on by interested government parties for unknown
and undisclosed purposes - Regulation of Investigatory Powers Act, 2000     



pgsql-sql by date:

Previous
From: "Josh Berkus"
Date:
Subject: Re: pl/pgsql question
Next
From: Tomasz Myrta
Date:
Subject: Re: references table(multiple columns go here)