Heim > Datenbank > MySQL-Tutorial > Wie rufe ich referenzierte Tabellen- und Spalteninformationen aus Fremdschlüsseln in SQL Server mithilfe von „INFORMATION_SCHEMA' ab?

Wie rufe ich referenzierte Tabellen- und Spalteninformationen aus Fremdschlüsseln in SQL Server mithilfe von „INFORMATION_SCHEMA' ab?

DDD
Freigeben: 2024-12-31 20:36:10
Original
453 Leute haben es durchsucht

How to Retrieve Referenced Table and Column Information from Foreign Keys in SQL Server using `INFORMATION_SCHEMA`?

Abrufen von Fremdschlüsselreferenzen mithilfe von Information_schema

In SQL Server kann das Extrahieren der referenzierten Tabellen- und Spaltennamen, die einem Fremdschlüssel zugeordnet sind, mithilfe erreicht werden eine Abfrage zum information_schema Ansichten.

Abfrage:

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
Nach dem Login kopieren

Diese Abfrage ruft das Fremdschlüsseleinschränkungsschema, den Namen, das Tabellenschema, den Tabellennamen, den Spaltennamen und die Ordnungsposition für beide ab die referenzierenden und referenzierten Tabellen.

Beispiel:

Zum Abrufen Um die referenzierte Tabelle und Spalte für den Fremdschlüssel FA_MDT_ID in der Tabelle T_ALV_Ref_FilterDisplay zu ermitteln, verwenden Sie die folgende Abfrage:

SELECT 
    FK_CONSTRAINT_SCHEMA,
    FK_CONSTRAINT_NAME,
    FK_TABLE_SCHEMA,
    FK_TABLE_NAME,
    FK_COLUMN_NAME,
    REFERENCED_TABLE_SCHEMA,
    REFERENCED_TABLE_NAME,
    REFERENCED_COLUMN_NAME
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
WHERE
    KCU1.FK_TABLE_NAME = 'T_ALV_Ref_FilterDisplay'
    AND KCU1.FK_COLUMN_NAME = 'FA_MDT_ID';
Nach dem Login kopieren

Das Ergebnis liefert den referenzierten Tabellennamen (T_AP_Ref_Customer) und den Spaltennamen (MDT_ID).

Das obige ist der detaillierte Inhalt vonWie rufe ich referenzierte Tabellen- und Spalteninformationen aus Fremdschlüsseln in SQL Server mithilfe von „INFORMATION_SCHEMA' ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage