Re: [SQL] Urgent - SQL Unique constraint error (long)

From: Stephan Szabo <sszabo(at)megazone23(dot)bigpanda(dot)com>
To: Darrin Domoney <ddomoney(at)emergingfrontiers(dot)ca>
Cc: <pgsql-sql(at)postgresql(dot)org>, <pgsql-novice(at)postgresql(dot)org>, <pgsql-admin(at)postgresql(dot)org>
Subject: Re: [SQL] Urgent - SQL Unique constraint error (long)
Date: 2002-08-19 18:56:28
Message-ID: 20020819114639.S32955-100000@megazone23.bigpanda.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin pgsql-novice pgsql-sql


On Mon, 19 Aug 2002, Darrin Domoney wrote:

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

I now see what you're doing, but it won't work.

ALTER TABLE phone_number ADD CONSTRAINT staff_phone
FOREIGN KEY ( person_id )
REFERENCES staff ( person_id )
NOT DEFERRABLE;
ALTER TABLE phone_number ADD CONSTRAINT contact_phone_number
FOREIGN KEY ( person_id )
REFERENCES contact ( person_id )
NOT DEFERRABLE;
means that the person_id in phone number must be in
*both* contact and staff.

Are there classes of person that you don't want phone_number
to be able to reference? If not, you should be referencing
person(person_id). If so, I'm not sure I have an answer for
you apart from hacking triggers since even if inheritance
worked, it wouldn't really help you there.

In response to

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message Darrin Domoney 2002-08-19 19:29:03 Re: [ADMIN] [SQL] Urgent - SQL Unique constraint error (long)
Previous Message Darrin Domoney 2002-08-19 18:28:38 Re: [NOVICE] Urgent - SQL Unique constraint error (long)

Browse pgsql-novice by date

  From Date Subject
Next Message Darrin Domoney 2002-08-19 19:29:03 Re: [ADMIN] [SQL] Urgent - SQL Unique constraint error (long)
Previous Message Darrin Domoney 2002-08-19 18:28:38 Re: [NOVICE] Urgent - SQL Unique constraint error (long)

Browse pgsql-sql by date

  From Date Subject
Next Message Darrin Domoney 2002-08-19 19:29:03 Re: [ADMIN] [SQL] Urgent - SQL Unique constraint error (long)
Previous Message Darrin Domoney 2002-08-19 18:28:38 Re: [NOVICE] Urgent - SQL Unique constraint error (long)