Oraclelöschen über mehrere Tabellen

kopfbremse

Grünschnabel
Hallo zusammen,

ich versuche nun schon die ganze Zeit eine Löschweitergabe zu erstellen, alles was ich dazu gefunden habe war on delete cascade.

Dieses versuche ich die gabze Zeit zu realisieren, bekomme ich aber nicht hin. ich stelle an dieser Stelle mal meine constraints rein, in der Hoffnung das mir hier jemasnd helfen kann.

TABELLE "PERSON"

ALTER TABLE SILVA.PERSON ADD (
PRIMARY KEY
(PER_ID));

ALTER TABLE SILVA.PERSON ADD (
FOREIGN KEY (PER_ANW_KENNUNG)
REFERENCES SILVA.ANWENDER (ANW_KENNUNG));

TABELLE "PERSONBRH"

ALTER TABLE SILVA.PERSONBRH ADD (
PRIMARY KEY
(PERBH_PER_ID));

ALTER TABLE SILVA.PERSONBRH ADD (
CONSTRAINT PER2PERBH
FOREIGN KEY (PERBH_PER_ID)
REFERENCES SILVA.PERSON (PER_ID)
ON DELETE CASCADE);

TABELLE "VERPERSON"

ALTER TABLE SILVA.VERPERSON ADD (
PRIMARY KEY
(VPR_VOR_ID, VPR_PER_ID, VPR_FUNKTION));

ALTER TABLE SILVA.VERPERSON ADD (
FOREIGN KEY (VPR_PER_ID, VPR_VOR_ID, VPR_FUNKTION)
REFERENCES SILVA.VORPERTEXT (VPT_PER_ID,VPT_VOR_ID,VPT_FUNKTION)
ON DELETE CASCADE);


TABELLE "VORGANG"

ALTER TABLE SILVA.VORGANG ADD (
PRIMARY KEY
(VOR_ID));

ALTER TABLE SILVA.VORGANG ADD (
FOREIGN KEY (VOR_ANW_KENNUNG)
REFERENCES SILVA.ANWENDER (ANW_KENNUNG));

TABELLE "VORPERTEXT"

ALTER TABLE SILVA.VORPERTEXT ADD (
PRIMARY KEY
(VPT_PER_ID, VPT_VOR_ID, VPT_FUNKTION));

ALTER TABLE SILVA.VORPERTEXT ADD (
FOREIGN KEY (VPT_VOR_ID)
REFERENCES SILVA.VORGANG (VOR_ID)
ON DELETE CASCADE,
FOREIGN KEY (VPT_PER_ID)
REFERENCES SILVA.PERSON (PER_ID));

Ich hoffe das dieses an Informationen reicht und bedanke mich schon jetzt für diese Hilfe.

Kopfbremse
 
item: Bitte den Code in Zukunft in [code=sql]mein Code[/code] setzen

item: Auf welche Tabelle willst du das Lösch-komando absetzen und in welchen Tabellen soll automatisch mitgelöscht werden?
 
Zuletzt bearbeitet von einem Moderator:
Zurück