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

From Gary Stainburn
Subject Re: references table(multiple columns go here)
Date
Msg-id 200212190928.19736.gary.stainburn@ringways.co.uk
Whole thread Raw
In response to Re: references table(multiple columns go here)  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: references table(multiple columns go here)  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-sql
Thanks for that Tom

On Wednesday 18 Dec 2002 5:50 pm, Tom Lane wrote:
> Gary Stainburn <gary.stainburn@ringways.co.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     



pgsql-sql by date:

Previous
From: Tomasz Myrta
Date:
Subject: Re: references table(multiple columns go here)
Next
From: Tomasz Myrta
Date:
Subject: Re: references table(multiple columns go here)