Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mencari Rujukan Utama Asing dalam Pelayan SQL Menggunakan Skim_Informasi?
Mendapatkan Rujukan Utama Asing dengan Skema Maklumat SQL Server
Dalam SQL Server, mengenal pasti jadual dan lajur rujukan kunci asing boleh menjadi maklumat yang berharga untuk memahami hubungan data. Untuk mendapatkan maklumat ini, kita boleh memanfaatkan paparan information_schema.
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
Contoh:
Andaikan kami mempunyai jadual T_ALV_Ref_FilterDisplay dan T_AP_Ref_Customer, dan T_ALV_Ref_Ref asing merujuk T_AP_Ref_Customer.MDT_ID. Untuk mencari jadual dan lajur yang dirujuk, kami boleh melaksanakan pertanyaan:
SELECT REFERENCED_TABLE_SCHEMA, REFERENCED_TABLE_NAME, REFERENCED_COLUMN_NAME FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS WHERE FK_TABLE_SCHEMA = 'dbo' AND FK_TABLE_NAME = 'T_ALV_Ref_FilterDisplay' AND FK_COLUMN_NAME = 'FA_MDT_ID';
Ini akan mengembalikan hasil berikut:
REFERENCED_TABLE_SCHEMA | REFERENCED_TABLE_NAME | REFERENCED_COLUMN_NAME ------------------------ | ---------------------- | ---------------------- dbo | T_AP_Ref_Customer | MDT_ID
Had:
Perhatikan bahawa information_schema tidak termasuk maklumat tentang indeks. Jika rujukan kunci asing adalah berdasarkan indeks unik, anda perlu menggunakan jadual proprietari Microsoft sebaliknya.
Atas ialah kandungan terperinci Bagaimana untuk Mencari Rujukan Utama Asing dalam Pelayan SQL Menggunakan Skim_Informasi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!