sql >> Databasteknik >  >> RDS >> Sqlserver

SQLServer - Hur hittar jag beroende tabeller på mitt bord?

Sättet att få ONLY TABLE referenser (dvs tabeller som använder en given tabell som en främmande nyckel och tabeller som en given tabell använder på samma sätt) kan du använda det här kodavsnittet:

declare @tableName varchar(64);
set @tableName = 'TABLE';

select
SO_P.name as [parent table]
,SC_P.name as [parent column]
,'is a foreign key of' as [direction]
,SO_R.name as [referenced table]
,SC_R.name as [referenced column]
,*
from sys.foreign_key_columns FKC
inner join sys.objects SO_P on SO_P.object_id = FKC.parent_object_id
inner join sys.columns SC_P on (SC_P.object_id = FKC.parent_object_id) AND (SC_P.column_id = FKC.parent_column_id)
inner join sys.objects SO_R on SO_R.object_id = FKC.referenced_object_id
inner join sys.columns SC_R on (SC_R.object_id = FKC.referenced_object_id) AND (SC_R.column_id = FKC.referenced_column_id)
where
    ((SO_P.name = @tableName) AND (SO_P.type = 'U'))
    OR
    ((SO_R.name = @tableName) AND (SO_R.type = 'U'))


  1. Visualisera tipppunkten med Plan Explorer

  2. Hur fungerar "in"-klausulen i Oracle

  3. MySQL använder samma främmande nyckel för två olika tabellkolumner

  4. Hur kan jag infoga en bild i en SQLite-databas