Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Mencari Rujukan Utama Asing Menggunakan Information_schema SQL Server?

Bagaimana untuk Mencari Rujukan Utama Asing Menggunakan Information_schema SQL Server?

Linda Hamilton
Lepaskan: 2025-01-02 19:17:39
asal
342 orang telah melayarinya

How to Find Foreign Key References Using SQL Server's information_schema?

Mendapatkan Rujukan Kunci Asing daripada information_schema dalam SQL Server

Soalan:

Dalam SQL Server , bagaimana anda boleh menentukan nama jadual dan lajur yang dirujuk yang dikaitkan dengan asing kunci?

Jawapan:

Skema_maklumat menyediakan metadata berharga tentang objek pangkalan data, termasuk perhubungan kunci asing. Untuk mendapatkan semula maklumat jadual dan lajur yang dirujuk, anda boleh menggunakan pertanyaan berikut:

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 
Salin selepas log masuk

Pertimbangan Tambahan:

  • Kekangan Unik: Skema_maklumat tidak menjejaki indeks, hanya kekangan unik. Untuk mencari kunci asing berdasarkan indeks unik, anda boleh menanyakan jadual proprietari Microsoft seperti sys.foreign_keys dan sys.key_constraints.
  • Ujian Bukti: Ujian kes tepi yang disediakan menunjukkan cara dengan betul mengenal pasti maklumat jadual dan lajur yang dirujuk dalam pelbagai senario yang melibatkan kekangan kunci asing dan unik indeks.

Atas ialah kandungan terperinci Bagaimana untuk Mencari Rujukan Utama Asing Menggunakan Information_schema SQL Server?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan