Re: references table(multiple columns go here)

From: Gary Stainburn <gary(dot)stainburn(at)ringways(dot)co(dot)uk>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Tomasz Myrta <jasiek(at)klaster(dot)net>, pgsql-sql(at)postgresql(dot)org
Subject: Re: references table(multiple columns go here)
Date: 2002-12-19 09:28:19
Message-ID: 200212190928.19736.gary.stainburn@ringways.co.uk
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Thanks for that Tom

On Wednesday 18 Dec 2002 5:50 pm, Tom Lane wrote:
> Gary Stainburn <gary(dot)stainburn(at)ringways(dot)co(dot)uk> writes:
> > I've just tried this on a 7.2.1-5 system and get the same error.
> >
> >> create table jobtypes (
> >> jid int4 default nextval('jobs_jid_seq'::text) unique not null,
> >> jdid character, -- This joint reference
> >> jrank int4 not null references ranks(rrank), -- needs sorting
> >> jdesc character varying(40), -- job description
> >> contraint c2 foreign key (jdid,jrank) references ranks (rdid,rrank)
>
> ^^^^^^^^^
>
> >> );
> >> ERROR: parser: parse error at or near "foreign"
>
> If that's an accurate transcription, I think "contraint" -> "constraint"
> would help...
>

That did the trick. However, I now have another problem with the constraint
complaining about there not being an index to refer to. However, there is.
Output below:

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
);
NOTICE: CREATE TABLE/UNIQUE will create implicit index 'ranks_rid_key' for
table 'ranks'
NOTICE: CREATE TABLE will create implicit trigger(s) for FOREIGN KEY check(s)
CREATE
create unique index "ranks_drank_index" on ranks using btree ("rdid",
"rrank");
CREATE
create table jobtypes (
jid int4 default nextval('jobs_jid_seq'::text) unique not null,
jdid character, -- This joint reference
jrank int4 not null references ranks(rrank), -- needs sorting
jdesc character varying(40), -- job description
constraint c2 foreign key (jdid,jrank) references ranks (rdid,rrank)
);
NOTICE: CREATE TABLE/UNIQUE will create implicit index 'jobtypes_jid_key' for
table 'jobtypes'
NOTICE: CREATE TABLE will create implicit trigger(s) for FOREIGN KEY check(s)
ERROR: UNIQUE constraint matching given keys for referenced table "ranks" not
found

> regards, tom lane

--
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

In response to

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Tomasz Myrta 2002-12-19 09:58:01 Re: references table(multiple columns go here)
Previous Message Tomasz Myrta 2002-12-18 18:17:41 Re: references table(multiple columns go here)