Em 29-05-2013 12:51, Vick Khera escreveu:

On Wed, May 29, 2013 at 9:58 AM, Rodrigo Rosenfeld Rosas <rr.ro...@gmail.com <mailto:rr.ro...@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.

Reply via email to