pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Darrin Domoney <ddomoney@emergingfrontiers.ca>
To: pgsql-sql@postgresql.org
To: pgsql-novice@postgresql.org
To: pgsql-admin@postgresql.org
Subject: Re: [SQL] Urgent - SQL Unique constraint error (long)
Date: Mon, 19 Aug 2002 13:25:24 -0500
Message-ID: <FEEFJMJKKPINIKCCCCBJEEFFCAAA.ddomoney@emergingfrontiers.ca> (raw)
In-Reply-To: <20020819103903.D32160-100000@megazone23.bigpanda.com>

Stephan,
	Thanks for the response but the answer is no. Owing to the 
ongoing issue with inherited tables in 7.x I have opted to create three
tables:
Contains generic traits regardless of "class or role".
Person -> PK person_id

Staff as certain "class" of person.
Staff -> PK staff_id
	   FK person_id

Contact as another "class" of person.
Contact -> PK contact_id
           FK person_id

Phone numbers relate to any "class" but are related back to 
the originator by using "person_id".

Darrin
	     


-----Original Message-----
From: Stephan Szabo [mailto:sszabo@megazone23.bigpanda.com]
Sent: August 19, 2002 12:41 PM
To: Darrin Domoney
Cc: pgsql-sql@postgresql.org; pgsql-novice@postgresql.org;
pgsql-admin@postgresql.org
Subject: Re: [SQL] Urgent - SQL Unique constraint error (long)


On Mon, 19 Aug 2002, Darrin Domoney wrote:

> An admitted newbie to postgresql I am trying to commit a new design
> my development server using pgAdminII.
>
> Everything appears to work OK but I am having real grief with my
> SQL generating errors - most of which I have cleared myself but
> one that I am unsure how to handle:
>
> UNIQUE constraint for matching given keys for referenced table "staff"
> not found
>
> Below is the SQL code that I am tring to load to build out my database
> skeleton:
>

> CREATE TABLE staff
> (
>   staff_id serial NOT NULL,
>   person_id int NOT NULL,
>   active_staff boolean NOT NULL,
>   pay_rate decimal(8,2),
>   discounted_rate decimal(8,2),
>   discount_break int,
>   organization_id int NOT NULL,
>   PRIMARY KEY (staff_id)
> );

> ALTER TABLE phone_number ADD CONSTRAINT staff_phone
>   FOREIGN KEY ( person_id )
>    REFERENCES staff ( person_id )
>     NOT DEFERRABLE;

The target of a references constraint must be in a unique
constraint.  Here you're referencing person_id which
is not the key of staff.  Are you sure you don't want
to be linking staff_id instead?







view thread (7+ messages)  latest in thread

Message-ID: <FEEFJMJKKPINIKCCCCBJEEFFCAAA.ddomoney@emergingfrontiers.ca>
Permalink:  ../FEEFJMJKKPINIKCCCCBJEEFFCAAA.ddomoney@emergingfrontiers.ca/
Also on:    postgresql.org/message-id/FEEFJMJKKPINIKCCCCBJEEFFCAAA.ddomoney@emergingfrontiers.ca

 · 

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: ddomoney@emergingfrontiers.ca, pgsql-novice@postgresql.org, pgsql-admin@postgresql.org
  Subject: Re: [SQL] Urgent - SQL Unique constraint error (long)
  In-Reply-To: <FEEFJMJKKPINIKCCCCBJEEFFCAAA.ddomoney@emergingfrontiers.ca>

* 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