Re: M:M table conditional delete for parents - Mailing list pgsql-general

From Omar Eljumaily
Subject Re: M:M table conditional delete for parents
Date
Msg-id 45EC743A.2040700@omnicode.com
Whole thread Raw
In response to M:M table conditional delete for parents  (MargaretGillon@chromalloy.com)
List pgsql-general
I think a foreign key restraint is basically a trigger that throws an
exception (RAISE statement) when the restraint is violated.

Something trigger function like:

      If table1
          if not in table1
               raise
      else if table2
          if not in table2
               raise
       end
I think that should work, but I've never tried it.


MargaretGillon@chromalloy.com wrote:
>
> Postgresql 8.1.4 on Redhat 9
>
> I have a table which stores M:M relationships. I can't put foreign
> keys to the parents of this table because the relationships being
> stored go to several tables. This was done so that only two fields
> have to be searched in order for all relationships to be found for an
> item. For an oem number there might be 50 to 100 relationships and 40
> different tables having to do with materials, locations, revisions,
> specifications, customer, etc. that might be referenced.
>
> Is there some way I can make a mock foreign key restraint on the
> parents so the parent would search the M:M table for  a matching value
> in key1 if the relate-key is 22, 23, 25 or 100 before it allows the
> row to be deleted?
>
> relate-key        relate-type                key1        table1
>  key2         table2
> 22                product-material        23        oem        545
>    material
> 22                product-material        23        oem        546
>    material
> 23                product-engine                23        oem
>  15        engine
> 25                product-stage                23        oem        3
>        stage
> 100                product-revision        23        oem        2270
>      specifications
>
>
> *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
> *** *** ***
> Margaret Gillon, IS Dept., Chromalloy Los Angeles


pgsql-general by date:

Previous
From: MargaretGillon@chromalloy.com
Date:
Subject: M:M table conditional delete for parents
Next
From: "Andrew Hammond"
Date:
Subject: RFC tool to support development / operations work with slony replicated databases