references table(multiple columns go here)

From: Gary Stainburn <gary(dot)stainburn(at)ringways(dot)co(dot)uk>
To: pgsql-sql(at)postgresql(dot)org
Subject: references table(multiple columns go here)
Date: 2002-12-18 16:25:11
Message-ID: 200212181625.11316.gary.stainburn@ringways.co.uk
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Josh Berkus 2002-12-18 16:30:09 Re: pl/pgsql question
Previous Message dnaren 2002-12-18 15:52:00 Error code for database down