Skip to content

ErcanOPAK.com

  • ASP.Net WebForms
  • ASP.Net MVC
  • C#
  • SQL
  • MySQL
  • PHP
  • Devexpress
  • Reportviewer
  • About
SQL

How to list all tables referencing a table by Foreign Key in MS SQL

- 04.10.24 - ErcanOPAK
SELECT DISTINCT
    schema_name(fk_tab.schema_id) + '.' + fk_tab.name as foreign_table,
    '>-' as rel,
    schema_name(pk_tab.schema_id) + '.' + pk_tab.name as primary_table
FROM sys.foreign_keys fk
    INNER JOIN sys.tables fk_tab
        on fk_tab.object_id = fk.parent_object_id
    INNER JOIN sys.tables pk_tab
        on pk_tab.object_id = fk.referenced_object_id
WHERE pk_tab.[name] = 'Your table' -- enter table name here
--  and schema_name(pk_tab.schema_id) = 'Your table schema name'
ORDER BY schema_name(fk_tab.schema_id) + '.' + fk_tab.name, 
         schema_name(pk_tab.schema_id) + '.' + pk_tab.name

Columns

  • foreign_table – foreign tables schemas and names – the table you are looking for
  • foreign_table – relationship symbol implicating FK and direction
  • primary_table – primary (referenced) tables names with schema name – the table you provided as a parameter

Rows

  • One row represents one referencing table
  • Scope of rows: all tables referencing table with provided name (and optionally schema)
  • Ordered by referencing table schema and name

Notes

  • There can be more tables with the same name. If that’s the case, uncomment where clause and provide schema name

Sample results

All tables reference with FK Production.Product table in AdventureWorks database.

 

Thanks a lot to DataEdo.com for that amazing article.

 

Related posts:

DATEADD Function in SQL
How to solve "TableAdapter can't see stored procedure returned fields when using temp table" problem
How to reset identity seed after deleting records in SQL
How to add default value for Entity Framework migrations for DateTime and Bool
Post Views: 5

Post navigation

How to format date in Javascript
Essential Steps to Take After Windows 11 Updates

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

October 2024
M T W T F S S
 123456
78910111213
14151617181920
21222324252627
28293031  
« Sep    

Most Viewed Posts

  • Get the User Name and Domain Name from an Email Address in SQL (848)
  • Get the First and Last Word from a String or Sentence in SQL (756)
  • How to select distinct rows in a datatable in C# (703)
  • How to add default value for Entity Framework migrations for DateTime and Bool (584)
  • Add Constraint to SQL Table to ensure email contains @ (521)
  • How to enable, disable and check if Service Broker is enabled on a database in SQL Server (480)
  • How to make theater mode the default for Youtube (464)
  • Average of all values in a column that are not zero in SQL (453)
  • Find numbers with more than two decimal places in SQL (383)
  • How to use Map Mode for Vertical Scroll Mode in Visual Studio (371)

Recent Posts

  • How to Reset Taskbar in Windows 11
  • Essential Steps to Take After Windows 11 Updates
  • How to list all tables referencing a table by Foreign Key in MS SQL
  • How to format date in Javascript
  • How to generate a random number for each row in T-SQL
  • How to solve ‘Microsoft.TeamFoundation.Git.Contracts.GitCheckoutConflictException’ problem
  • Why nautical mile equals 1852 mt
  • How to Find Day Name From Date in SQL Server
  • How to make pagination in MS SQL Server
  • How to update Identity Column in SQL Server

Most Viewed Posts

  • Get the User Name and Domain Name from an Email Address in SQL (848)
  • Get the First and Last Word from a String or Sentence in SQL (756)
  • How to select distinct rows in a datatable in C# (703)
  • How to add default value for Entity Framework migrations for DateTime and Bool (584)
  • Add Constraint to SQL Table to ensure email contains @ (521)

Recent Posts

  • How to Reset Taskbar in Windows 11
  • Essential Steps to Take After Windows 11 Updates
  • How to list all tables referencing a table by Foreign Key in MS SQL
  • How to format date in Javascript
  • How to generate a random number for each row in T-SQL

Social

  • ErcanOPAK.com
  • GoodReads
  • LetterBoxD
  • Linkedin
  • The Blog
  • Twitter

© 2024 ErcanOPAK.com

Proudly powered by WordPress | Theme: Xblog Plus by wpthemespace.com