Hallo,
zunächst meine Tabellen, sonst kann ich s nicht erklären wo mein Problem liegt:
-- Tabelle die Vererbt:
CREATE TABLE allgemein
(
a_id serial NOT NULL,
name text,
CONSTRAINT pk_allgmn PRIMARY KEY (a_id)
);
-- Tabelle erbt von allgemein:
CREATE TABLE speziell
(
s_id serial NOT NULL,
spezi text,
CONSTRAINT pk_spezi PRIMARY KEY (s_id)
)INHERITS(allgemein);
-- Tabelle hat Fremdschlüßel zu allgemein
CREATE TABLE eigenschaft
(
e_id serial NOT NULL,
a_id integer NOT NULL,
name text,
CONSTRAINT pk_eignschft PRIMARY KEY (e_id),
CONSTRAINT fk_eigenschaft_allgemein FOREIGN KEY (a_id)
REFERENCES allgemein (a_id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE CASCADE
);
Datensätze werden nur in “speziell” eingefügt… Mache ich ein SELECT auf “allgemein” werden mir die “speziell”-Daten so wie es sein soll auch angezeigt. Nun will ich aber in “eigenschaften” Daten einfügen und bekomme Fehlermeldung, das die betreffende allgemein_ID (a_id) nicht vorhanden ist in “allgemein” und deshalb die Femdschlüsselbedingung verletzt wird. Komischerweise zählt die “allgemein_sequenz” ganz normal hoch, so wie sie soll…
Ich kann also keine Datensätze in “eigenschaften” anlegen, die mit Datensätzen verknüpft werden sollen, die ich über “speziell” in allgemein eingefügt habe.
Vermutlich ist das ein Konfigurationsproblem? Weiß jemand was ich da machen muss/kann?
Vielen Dank im Vorraus!
beho