J'ai quelques tables dont j'ai besoin pour mettre à jour en cascade dans postgresql, mais je ne pense pas que je peux utiliser des clés étrangères pour le faire.SUR MISE À JOUR CASCADE sans clé étrangère dans postgresql
La version simple est que j'ai 4 tables d'objets et 2 tables nouage:
Table X Table A Table A-B Table B Table B-C Table C
------- -------- --------- ------- --------- -------
x_id a_id x_id b_id x_id c_id
... ... a_id ... b_id ...
... ... b_id ... c_id ...
... ...
Sur mes tables Nouer, j'ai un PK sur tous les champs id (x_id, a_id, b_id), (x_id, b_id, c_id).
Si je mets à jour b_id dans le tableau A-B, je veux qu'il mette à jour b_id dans le tableau B-C où x_id correspond.
Si je tente de créer une contrainte de clé étrangère, il me dit
« il n'y a pas de contrainte unique de clés correspondantes données pour la table référencée ... »
Je comprends que ça le fait pas parce que (x_id, b_id) n'est pas une contrainte unique, mais cela ne peut pas être le cas, car j'aurai plusieurs c_id avec les mêmes b_id et x_id.
Espérons que cela a du sens.
La seule façon de faire cela avec des déclencheurs?