pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Gary Stainburn <gary.stainburn@ringways.co.uk>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Tomasz Myrta <jasiek@klaster.net>
Cc: pgsql-sql@postgresql.org
Subject: Re: references table(multiple columns go here)
Date: Thu, 19 Dec 2002 09:28:19 +0000
Message-ID: <200212190928.19736.gary.stainburn@ringways.co.uk> (raw)
In-Reply-To: <8026.1040233829@sss.pgh.pa.us>
References: <200212181625.11316.gary.stainburn@ringways.co.uk>
	<200212181718.42870.gary.stainburn@ringways.co.uk>
	<8026.1040233829@sss.pgh.pa.us>

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     




view thread (13+ messages)  latest in thread

Message-ID: <200212190928.19736.gary.stainburn@ringways.co.uk>
Permalink:  ../200212190928.19736.gary.stainburn@ringways.co.uk/
Also on:    postgresql.org/message-id/200212190928.19736.gary.stainburn@ringways.co.uk

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-sql@postgresql.org
  Cc: gary.stainburn@ringways.co.uk, tgl@sss.pgh.pa.us, jasiek@klaster.net
  Subject: Re: references table(multiple columns go here)
  In-Reply-To: <200212190928.19736.gary.stainburn@ringways.co.uk>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox