Heim >Datenbank >MySQL-Tutorial >Wie rufe ich Fremdschlüsselverweise in SQL Server mithilfe des Informationsschemas ab?

Wie rufe ich Fremdschlüsselverweise in SQL Server mithilfe des Informationsschemas ab?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2025-01-03 21:54:40513Durchsuche

How to Retrieve Foreign Key References in SQL Server Using Information Schema?

SQL Server: So rufen Sie Fremdschlüsselreferenzen aus dem Informationsschema ab

In SQL Server kann das Abrufen von Informationen über Fremdschlüsselreferenzen von entscheidender Bedeutung sein Datenbeziehungen verstehen und Datenbankintegrität wahren. Durch die Nutzung des Informationsschemas können Sie auf wertvolle Metadaten zu Fremdschlüsseln zugreifen, einschließlich der Tabellen und Spalten, auf die sie verweisen.

Die unten gezeigte SQL-Abfrage bietet eine umfassende Lösung zum Extrahieren von Fremdschlüsselverweisen aus dem Informationsschema:

`SELECT

KCU1.CONSTRAINT_SCHEMA AS FK_CONSTRAINT_SCHEMA,
KCU1.CONSTRAINT_NAME AS FK_CONSTRAINT_NAME,
KCU1.TABLE_SCHEMA AS FK_TABLE_SCHEMA,
KCU1.TABLE_NAME AS FK_TABLE_NAME,
KCU1.COLUMN_NAME AS FK_COLUMN_NAME,
KCU1.ORDINAL_POSITION AS FK_ORDINAL_POSITION,
KCU2.CONSTRAINT_SCHEMA AS REFERENCED_CONSTRAINT_SCHEMA,
KCU2.CONSTRAINT_NAME AS REFERENCED_CONSTRAINT_NAME,
KCU2.TABLE_SCHEMA AS REFERENCED_TABLE_SCHEMA,
KCU2.TABLE_NAME AS REFERENCED_TABLE_NAME,
KCU2.COLUMN_NAME AS REFERENCED_COLUMN_NAME,
KCU2.ORDINAL_POSITION AS REFERENCED_ORDINAL_POSITION

FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS AS RC
INNER JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS KCU1

ON KCU1.CONSTRAINT_CATALOG = RC.CONSTRAINT_CATALOG
AND KCU1.CONSTRAINT_SCHEMA = RC.CONSTRAINT_SCHEMA
AND KCU1.CONSTRAINT_NAME = RC.CONSTRAINT_NAME

INNER JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS KCU2

ON KCU2.CONSTRAINT_CATALOG = RC.UNIQUE_CONSTRAINT_CATALOG
AND KCU2.CONSTRAINT_SCHEMA = RC.UNIQUE_CONSTRAINT_SCHEMA
AND KCU2.CONSTRAINT_NAME = RC.UNIQUE_CONSTRAINT_NAME
AND KCU2.ORDINAL_POSITION = KCU1.ORDINAL_POSITION`

In dieser Abfrage:

  • RC stellt die REFERENTIAL_CONSTRAINTS-Tabelle dar, die enthält Informationen über alle Fremdschlüssel Einschränkungen.
  • KCU1 und KCU2 sind Aliase für die Tabelle KEY_COLUMN_USAGE, die Details zu den referenzierenden bzw. referenzierten Spalten bereitstellt.
  • JOIN-Operationen werden verwendet, um RC, KCU1 und KCU2 zu verbinden.
  • Die Spalten CONSTRAINT_NAME und CONSTRAINT_SCHEMA identifizieren den Fremdschlüssel Einschränkung.
  • Die Spalten TABLE_SCHEMA, TABLE_NAME und COLUMN_NAME liefern Informationen über die referenzierende Tabelle und Spalte.
  • Die Spalten REFERENCED_CONSTRAINT_SCHEMA, REFERENCED_TABLE_SCHEMA, REFERENCED_TABLE_NAME und REFERENCED_COLUMN_NAME bieten Informationen über die referenzierte Tabelle und Spalte.

Durch die Verwendung dieser Abfrage erhalten Sie einen umfassenden Überblick über Fremdschlüsselbeziehungen in Ihrer SQL Server-Datenbank und können so Datenvalidierung, Aktualisierungsweitergabe und andere wichtige Aufgaben im Zusammenhang mit der Datenverwaltung durchführen .

Das obige ist der detaillierte Inhalt vonWie rufe ich Fremdschlüsselverweise in SQL Server mithilfe des Informationsschemas ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn