Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Làm cách nào để tìm tất cả các bảng có khóa ngoại tham chiếu đến bảng. Cột cụ thể VÀ có giá trị cho các khóa ngoại đó?

hãy thử truy vấn này:

Bạn phải sử dụng sysreferences sysobjects bảng để lấy thông tin

Truy vấn bên dưới cung cấp cho tất cả các khóa foriegn cũng như các bảng mẹ có tên cột từ cơ sở dữ liệu

select cast(f.name as varchar(255)) as foreign_key_name
, cast(c.name as varchar(255)) as foreign_table
, cast(fc.name as varchar(255)) as foreign_column
, cast(p.name as varchar(255)) as parent_table
, cast(rc.name as varchar(255)) as parent_column
from  sysobjects f
inner join sysobjects c on f.parent_obj = c.id
inner join sysreferences r on f.id = r.constid
inner join sysobjects p on r.rkeyid = p.id
inner join syscolumns rc on r.rkeyid = rc.id and r.rkey1 = rc.colid
inner join syscolumns fc on r.fkeyid = fc.id and r.fkey1 = fc.colid
where f.type = 'F'


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách tránh giám sát hoạt động làm ảnh hưởng đến hiệu suất máy chủ SQL của bạn

  2. Khi nào sử dụng chỉ mục được phân cụm hoặc không được phân cụm trong SQL Server

  3. Bộ xử lý Intel được đề xuất cho SQL Server 2014 - tháng 3 năm 2015

  4. Làm cách nào để bạn chỉ định một số cổng khác trong SQL Management Studio?

  5. FLOOR () Ví dụ trong SQL Server