Re: [GENERAL] foreign key to multiple tables depending on another column's value

Поиск
Список
Период
Сортировка
От Rodrigo Rosenfeld Rosas
Тема Re: [GENERAL] foreign key to multiple tables depending on another column's value
Дата
Msg-id 51A62948.4040603@gmail.com
обсуждение исходный текст
Ответ на Re: [GENERAL] foreign key to multiple tables depending on another column's value  (Vick Khera <vivek@khera.org>)
Список pgsql-sql
Em 29-05-2013 12:51, Vick Khera escreveu:

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.


Ok, thanks. I just wanted to be sure there wasn't some hidden feature of PostgreSQL I wasn't aware of yet...

You know, I'm always learning something new on PG, so it worths trying to ask first ;)

Cheers,
Rodrigo.

В списке pgsql-sql по дате отправления:

Предыдущее
От: Vick Khera
Дата:
Сообщение: Re: [GENERAL] foreign key to multiple tables depending on another column's value
Следующее
От: Robert DiFalco
Дата:
Сообщение: Correlated Update Query