Bonjour,
J'ai un probleme avec une table (Ex : MEMOIRE) qui possende une clef secondaire (references) qui pointe sur un attibut d'une table parente (Ex : EQUIPEMENT_RESEAU) dans un heritage.
Je ne rempli jamais cette table parente (EQUIPEMENT_RESEAU), je ne rempli que les tables filles (Ex : ORDINATEUR, ...).
Je ne parviens pas à remplir la table (MEMOIRE), j'ai une erreur sur la clef secondaire (qui pointe sur la clef primaire de la table parente (EQUIPEMENT_RESEAU).
l'erreur est la suivante (en JDBC):
ERROR: insert or update on table "Memoire" violates foreign key constraint "Memoire_Equipement_fkey"
est ce parceque ma table parente est physquement vide ? pgSQL ne va pas chercher dans les tables filles ?
Extrait de ma base :
// TABLE PARENTE //
CREATE TABLE "EquipementReseau" (
"AdrIp" varchar PRIMARY KEY,
( ...autres attributs ... )
);
// TABLE FILLE 1//
CREATE TABLE "Ordinateur" (
(... autres attributs ...)
) INHERITS ("EquipementReseau");
// TABLE FILLE 2//
CREATE TABLE "Copieur" (
(... autres attributs ...)
) INHERITS ("EquipementReseau");
// TABLE AVEC UNE FK SUR TABLE PARENTE //
CREATE TABLE "Memoire" (
"IpEquipement" varchar REFERENCES "EquipementReseau"("AdrIp") ON DELETE CASCADE,
(... autres attributs ...)
);
Un gros merci à celui qui trouve la solution.
merci quand même à ceux qui cherchent sans trouver
Partager