Oracle Query Foreign Keys
Im Datenbankdesign sind Fremdschlüssel eine der wichtigen Einschränkungen, die zwei Tabellen verbinden. Ein Fremdschlüssel ist eine oder mehrere Spalten in einer Tabelle, deren Wert dem Wert eines Primärschlüssels oder einer eindeutigen Schlüsselspalte in einer anderen Tabelle entspricht. Fremdschlüssel gewährleisten Datenintegrität und -konsistenz. Wenn beim Einfügen, Aktualisieren oder Löschen einer Zeile in der Mastertabelle ein Fremdschlüssel verwendet wird, führt dieser automatisch den entsprechenden Vorgang in der Slavetabelle aus.
Das Abfragen von Fremdschlüsseln ist einer der wichtigen Aspekte der Datenbankverwaltung. Wie Sie in Oracle Database Fremdschlüssel abfragen, hängt von den Informationen ab, die Sie erhalten möchten. Hier sind einige Abfragen aus der Liste, die nützlich sein könnten.
Alle Fremdschlüssel einer bestimmten Tabelle abfragen
In Oracle können Sie die folgende Abfrage verwenden, um alle Fremdschlüssel einer bestimmten Tabelle zu finden:
SELECT Einschränkungsname, Tabellenname, Spaltenname, Eigentümer
FROM all_cons_columns
WHERE Eigentümer = ' YourTableName ' UND Einschränkungsname LIKE 'FK_%' ORDER BY Einschränkungsname;
Diese Abfrage gibt den Einschränkungsnamen, den Tabellennamen, den Spaltennamen und den Besitzer aller Fremdschlüssel für die angegebene Tabelle zurück.
Abfrage nach einem bestimmten Fremdschlüssel in einer bestimmten Tabelle
Wenn Sie nur einen bestimmten Fremdschlüssel in einer bestimmten Tabelle finden möchten, können Sie die folgende Abfrage verwenden:
SELECT Einschränkungsname, Tabellenname, Spaltenname, Eigentümer
FROM all_cons_columns
WHERE Constraint_name = 'YourForeignKeyName' AND Owner = 'YourTableName';
Dies gibt den Einschränkungsnamen, den Tabellennamen, den Spaltennamen und den Eigentümer für den spezifischen Fremdschlüssel mit dem angegebenen Namen zurück.
Tabellen abfragen, auf die von allen Fremdschlüsseln verwiesen wird
Um Tabellen zu finden, auf die von Fremdschlüsseln verwiesen wird, verwenden Sie die folgende Abfrage:
SELECT DISTINCT f.constraint_name, r.table_name, f.table_name
FROM all_constraints r, all_constraints f
WHERE r. Constraint_type = 'P'
AND f.r_constraint_name = r.constraint_name
and f.constraint_type = 'R';
Diese Abfrage gibt die Einschränkungsnamen aller Fremdschlüssel, Referenztabellen und zugehörigen Tabellennamen zurück.
Fragen Sie die referenzierten (Haupt-)Tabellen und Spalten eines Fremdschlüssels ab
Um die Tabellen und Spalten zu finden, die auf einen Fremdschlüssel verweisen, verwenden Sie die folgende Abfrage:
SELECT c.table_name, c.column_name, cc.table_name ref_table, cc.column_name ref_column , c.constraint_name
FROM all_constraints c, all_constraints cc
WHERE cc.owner = c.r_owner AND cc.constraint_name = c.r_constraint_name
AND c.constraint_type = 'R';
Dies gibt den Tabellennamen zurück , Spalte des Fremdschlüssels. Eine Liste von Namen, zugehörigen Tabellennamen, zugehörigen Spaltennamen und Einschränkungsnamen.
Details zu Fremdschlüsseln abfragen
Sie können die folgende Abfrage verwenden, um Details zu Fremdschlüsseln abzurufen:
SELECT Einschränkungsname, Tabellenname, Status, Löschregel, aufschiebbar, validiert
FROM all_constraints c
WHERE Einschränkungstyp = 'R' UND Eigentümer = 'YourTableName' AND strict_name = 'YourForeignKeyName';
Diese Abfrage gibt Details zum Fremdschlüssel zurück, wie z. B. Einschränkungsname, Tabellenname, Status, Löschregeln, Aufschiebbarkeit und Validierungsstatus.
Zusammenfassend ist die Abfrage von Fremdschlüsseln ein wichtiger Aspekt der Datenbankverwaltung, um die Integrität und Konsistenz der Daten zwischen Tabellen sicherzustellen. In Oracle können Sie verschiedene Abfragen verwenden, um Informationen zu Fremdschlüsseln zu finden. Die oben aufgeführten Abfragen gehören zu den Abfragen, die Sie verwenden können und die Details eines Fremdschlüssels sowie Informationen zu der Tabelle und Spalte zurückgeben, auf die sich der Fremdschlüssel bezieht.
Das obige ist der detaillierte Inhalt vonOracle-Abfrage-Fremdschlüssel. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!