Einzelnen Beitrag anzeigen

Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.736 Beiträge
 
Delphi 6 Enterprise
 
#1

Reihenfolge beim einspielen von Tabellen ermitteln

  Alt 25. Apr 2012, 14:59
Datenbank: Oracle • Version: 10g • Zugriff über: ADO+ODBC
Hallo,

ich habe eine fertige (leere) Datenbankstruktur vorliegen und muss nun in die Tabellen die Daten importieren. Dabei muss ja eine Reihenfolge beachtet werden, um keine Foreign-Key-Verletzungen zu bekommen, d.h. eine Parenttabelle muss zuerst eingespielt werden, bevor eine Childtabelle eingepielt wird, in der es FK-Constraints gibt, die auf die Parenttabelle referenzieren.

Dazu habe ich (hieran orientiert) einen View erstellt, der zwei Spalten hat: Child (alle Tabellen mit FK) und Parent (die durch den Key refer. Tabelle).

Wie kann ich aus dieser Info, die Reihenfolge ermitteln, in der die Tabellen gefüllt werden müssen? Meine Idee:
1) Alle Tabellen in Parent, die es nicht in Child gibt.
2) -->Hier ist das Problem: Alle Tabellen mit FK in der richtigen Reihenfolge
3) Alle Tabellen, die weder in Child noch in Parent auftauchen, wo also die Reihenfolge egal ist.

1+3 Kann ich per SQL ermitteln.
Wie sieht es mit 2 aus? Das muss man irgendwie Sequentiel durchgehen???

(Nur so für die Größenordnung: insgesamt ca. 3000 Tabellen, davon in meiner obigen abfrage 1100 FK-Constraints die zu beachten sind)
Ralph
  Mit Zitat antworten Zitat