sql >> Database >  >> RDS >> Sqlserver

SQLServer - Hoe vind ik afhankelijke tabellen in mijn tabel?

De manier om ALLEEN TAFEL . te krijgen referenties (d.w.z. tabellen die een bepaalde tabel als externe sleutel gebruiken en tabellen die een bepaalde tabel op dezelfde manier gebruiken) kunt u dit codefragment gebruiken:

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. ORA 00918- Kolom ambigu gedefinieerde fout

  2. MySQL selecteert records met een som groter dan de drempel

  3. Kan ik UITZONDERINGEN in een FOR-LUS gebruiken om voortzetting af te dwingen bij een fout?

  4. Bekijk mijn presentatie 'Optimaliseren van Microsoft Access met SQL Server'