Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Bagaimana cara menemukan semua tabel yang memiliki kunci asing yang mereferensikan table.column tertentu DAN memiliki nilai untuk kunci asing tersebut?

coba kueri ini:

Anda harus menggunakan sysreferences dan sysobjects tabel untuk mendapatkan informasi

Kueri di bawah ini memberikan semua kunci asing serta tabel induk dengan nama kolom dari database

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. SQL Server:Ubah database saat ini melalui variabel

  2. Bisakah saya mengulang variabel tabel di T-SQL?

  3. Tunggu koneksi ditutup sebelum memulihkan database SQL Server

  4. Berikan Akses Pengguna msdb ke Profil Email Database di SQL Server (T-SQL)

  5. SQL menghitung baris dalam tabel