Heim > Datenbank > MySQL-Tutorial > Wie kann ich Fremdschlüsselverweise mithilfe von INFORMATION_SCHEMA von SQL Server abrufen?

Wie kann ich Fremdschlüsselverweise mithilfe von INFORMATION_SCHEMA von SQL Server abrufen?

Linda Hamilton
Freigeben: 2025-01-01 01:17:09
Original
279 Leute haben es durchsucht

How can I retrieve foreign key references using SQL Server's INFORMATION_SCHEMA?

Fremdschlüsselreferenzen aus Information_Schema in SQL Server abrufen

In SQL Server spielen Fremdschlüssel eine entscheidende Rolle bei der Aufrechterhaltung der referenziellen Integrität innerhalb einer Datenbank . Um Informationen über Fremdschlüsselreferenzen abzurufen, kann das information_schema eine wertvolle Ressource sein.

Abfrage zum Abrufen von Fremdschlüsselreferenzen:

Die folgende Abfrage ruft den Namen der Fremdschlüsseleinschränkung ab , referenzierte Tabelle und Spalte für eine bestimmte Fremdschlüsselspalte:

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 
    ,KCU2.TABLE_SCHEMA AS REFERENCED_TABLE_SCHEMA 
    ,KCU2.TABLE_NAME AS REFERENCED_TABLE_NAME 
    ,KCU2.COLUMN_NAME AS 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 
Nach dem Login kopieren

Hinweis: Information_schema enthält keine Indizes. Um Fremdschlüssel basierend auf eindeutigen Indizes zu finden, beziehen Sie sich auf die proprietären Tabellen von SQL Server.

Beispiel für den Abruf von Fremdschlüsselreferenzen:

Beachten Sie die folgende Tabellenstruktur:

CREATE TABLE [dbo].[T_ALV_Ref_FilterDisplay] (
    [FA_MDT_ID] [varchar](20) NOT NULL,
    [FA_NAME] [varchar](255) NOT NULL
)

CREATE TABLE [dbo].[T_AP_Ref_Customer] (
    [MDT_ID] [varchar](20) NOT NULL,
    [CUST_NAME] [varchar](255) NOT NULL
)

ALTER TABLE [dbo].[T_ALV_Ref_FilterDisplay]  WITH CHECK ADD  CONSTRAINT [FK_T_ALV_Ref_FilterDisplay_T_AP_Ref_Customer] FOREIGN KEY([FA_MDT_ID])
REFERENCES [dbo].[T_AP_Ref_Customer] ([MDT_ID])
Nach dem Login kopieren

Um die referenzierte Tabelle und Spalte für den Fremdschlüssel [FA_MDT_ID] abzurufen, führen Sie Folgendes aus Abfrage:

SELECT 
     FK_TABLE_NAME, 
     REFERENCED_TABLE_NAME, 
     REFERENCED_COLUMN_NAME 
FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS 
WHERE FK_TABLE_NAME = 'T_ALV_Ref_FilterDisplay' 
  AND FK_COLUMN_NAME = 'FA_MDT_ID'
Nach dem Login kopieren

Das Ergebnis wird angezeigt:

FK_TABLE_NAME | REFERENCED_TABLE_NAME | REFERENCED_COLUMN_NAME
---------------|----------------------|-------------------------
T_ALV_Ref_FilterDisplay | T_AP_Ref_Customer    | MDT_ID
Nach dem Login kopieren

Dies zeigt an, dass der Fremdschlüssel [FA_MDT_ID] in [T_ALV_Ref_FilterDisplay] auf die Spalte [MDT_ID] in [T_AP_Ref_Customer] verweist. Tabelle.

Das obige ist der detaillierte Inhalt vonWie kann ich Fremdschlüsselverweise mithilfe von INFORMATION_SCHEMA von SQL Server abrufen?. 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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage