Re: How do I make sure that an employee and supervisor belong to the same company? - Mailing list pgsql-general

From Roberts, Jon
Subject Re: How do I make sure that an employee and supervisor belong to the same company?
Date
Msg-id 1A6E6D554222284AB25ABE3229A92762E9A16D@nrtexcus702.int.asurion.com
Whole thread Raw
In response to How do I make sure that an employee and supervisor belong to the same company?  (Matthew Wilson <matt@tplus1.com>)
List pgsql-general
You can have a two column foreign key.

create table employee
(id int primary key not null,
 company_id int not null,
 supervisor_id int);

alter table employee add unique (id, company_id);

alter table employee add foreign key (supervisor_id, company_id)
references employee (id, company_id);


Jon
> -----Original Message-----
> From: pgsql-general-owner@postgresql.org [mailto:pgsql-general-
> owner@postgresql.org] On Behalf Of Matthew Wilson
> Sent: Monday, April 14, 2008 12:36 PM
> To: pgsql-general@postgresql.org
> Subject: [GENERAL] How do I make sure that an employee and supervisor
> belong to the same company?
>
> I have an employees table and one column in the employees table is
> "supervisor_id" which is an FK to the id column.
>
> I have employees from numerous companies all in the same table.  I
have
> a column called company_id that indicates the company.
>
> I want to make sure that an employee chooses a supervisor from the
same
> company.  I have a column called company_ID.  How do I make sure that
> the employee company ID matches the supervisor's company ID?
>
> Do I need to use a trigger or is there a way I can do this with
foreign
> keys?
>
> TIA
>
> Matt
>
>
> --
> Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-general

pgsql-general by date:

Previous
From: Tom Lane
Date:
Subject: Re: The default text search configuration will be set to "simple" ?
Next
From: Chris Browne
Date:
Subject: Re: Unacceptable postgres performance vs. Microsoft sqlserver