Oracle ausländische keys
Ich würde gerne alle Fremdschlüssel in einem schema wie diesem.
Sagen wir, ich habe Tabellen
users(id, username, pass, address_id)
und
addresses(id, text)
Ich habe ein FK auf die Benutzer-address_id auf die Spalte id in Adressen.
Wie soll ich schreiben, die eine Abfrage zurückgeben würde mir die FK-Spalten z.B. :
Benutzer, address_id, Adressen, id ?
Dank!
SELECT *
FROM all_cons_columns a
JOIN all_constraints c ON a.owner = c.owner
AND a.constraint_name = c.constraint_name
JOIN all_constraints c_pk ON c.r_owner = c_pk.owner
AND c.r_constraint_name = c_pk.constraint_name
WHERE C.R_OWNER = 'TRWBI'
Du musst angemeldet sein, um einen Kommentar abzugeben.
gefunden!
dies ist, was ich gesucht habe, vielen Dank an alle für die Hilfe.
Verwendung von @maephisto Lösung Fall einen kleinen bug:
Wenn die
source tables primary key is a composite key
dann die Abfrage ausführt, wird das Ergebnisduplicate unnecessary records
.Betrachten T1 und T2 Tabellen:
Master-Tabelle T1:
Detail Tabelle T2:
Das Ergebnis der @maephisto-Abfrage:
Zu kommen über das problem der Abfrage Balg dienen:
In der Sie aufgelistet sind in der system-Sicht
ALL_CONSTRAINTS
http://download.oracle.com/docs/cd/B19306_01/server.102/b14237/statviews_1037.htm#i1576022
Bearbeiten
Den Spalten eingebunden in die Zwänge sind aufgelistet in
ALL_CONS_COLUMNS
http://download.oracle.com/docs/cd/B19306_01/server.102/b14237/statviews_1035.htm#i1575870