Vous pouvez contourner ce problème en utilisant la table supplémentaire individual_pks (individual_pk integer primary key)
avec toutes les clés primaires du parent et de l'enfant, qui seront maintenues à l'aide de déclencheurs (très simple — insérer dans individual_pks
lors de l'insertion, supprimez-le lors de la suppression, mettez-le à jour lors de la mise à jour, s'il change individual_pk
).
Ensuite, vous pointez des clés étrangères vers cette table supplémentaire au lieu d'un enfant. Il y aura un petit impact sur les performances, mais uniquement lors de l'ajout/de la suppression de lignes.
Ou oubliez l'héritage et faites-le à l'ancienne - simplement une table avec des colonnes nullables.