Re: CHECK constraint on multiple tables - Mailing list pgsql-sql

From Rob Sargent
Subject Re: CHECK constraint on multiple tables
Date
Msg-id 4AB05CB8.1040306@gmail.com
Whole thread Raw
In response to Re: CHECK constraint on multiple tables  (Mario Splivalo <mario.splivalo@megafon.hr>)
List pgsql-sql
Mario Splivalo wrote:
> Tom Lane wrote:
>   
>> Mario Splivalo <mario.splivalo@megafon.hr> writes:
>>     
>>> I have two tables, tableA and tableB:
>>> CREATE TABLE tableA (idA integer primary key, email character varying
>>> unique);
>>> CREATE TABLE tableB (idB integer primary key, email character varying
>>> unique);
>>>       
>>> Now, I want to create check constraint in both tables that would
>>> disallow records to either table where email is 'mentioned' in other table.
>>>       
>> Have you considered refactoring so there's only one table?
>>     
>
> Unfortunately I can't do that, due to the
> object-relational-mapper-wrapper-mambo-jumbo.
>
> The only 'logical' idea that I can think of is separating emails to the
> third table, and then use UNIQUE constraint on the email field on that
> table, and then use FK constraint so that email fields in tables tableA
> and tableB points to the email in the table emails.
>
>     Mario
>
>   
Is that wrapper hibernate by any chance?  If so you might try adding a 
discriminator column to the single table TL suggested and map each class 
accordingly.


pgsql-sql by date:

Previous
From: "A. Kretschmer"
Date:
Subject: Re: ordered by join? ranked aggregate? how to?
Next
From: Mario Splivalo
Date:
Subject: CREATE INDEX on column of type 'point'