Re: [GENERAL] foreign key to multiple tables depending on another column's value - Mailing list pgsql-sql

From Vick Khera
Subject Re: [GENERAL] foreign key to multiple tables depending on another column's value
Date
Msg-id CALd+dcdyGn12Fbmyhpau6JvfB3MiiiYvXCH2WbFWFHoSN-P7Lg@mail.gmail.com
Whole thread Raw
In response to foreign key to multiple tables depending on another column's value  (Rodrigo Rosenfeld Rosas <rr.rosas@gmail.com>)
Responses Re: [GENERAL] foreign key to multiple tables depending on another column's value
List pgsql-sql

On Wed, May 29, 2013 at 9:58 AM, Rodrigo Rosenfeld Rosas <rr.rosas@gmail.com> wrote:
I know I could use a trigger, or some check constraint maybe, to ensure the field exists upon insert (or update), but I can't ensure the database will become inconsistent in case I remove a mapped field from the other schema.

Now I can finally explain my question: is it possible that I set some sort of foreign key whose referenced table and column would depend on the value of another column?

The FK tests are basically triggers, but highly optimized.

That said, the way they enforce the integrity is by having a trigger on both tables. So for your custom need here, you would want to put a trigger on the referenced table to disallow deleting a value that is still referenced, or do whatever appropriate action upon delete/update your application needs.

pgsql-sql by date:

Previous
From: Marc Mamin
Date:
Subject: Re: reduce many loosely related rows down to one
Next
From: Rodrigo Rosenfeld Rosas
Date:
Subject: Re: [GENERAL] foreign key to multiple tables depending on another column's value