sql >> Databáze >  >> RDS >> Sqlserver

SQLServer - Jak najít závislé tabulky na mém stole?

Způsob, jak získat POUZE TABULKU odkazy (tj. tabulky, které používají danou tabulku jako cizí klíč a tabulky, které daná tabulka používá stejným způsobem), můžete použít tento fragment kódu:

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. Funkce zabezpečení Spotlight Cloud – Odstraňte literály

  2. Najděte nejmenší nepoužívané číslo v SQL Server

  3. MySQL klauzule 'WHERE', která vylučuje výsledky v poddotazu

  4. mysql více NEBO NELÍBÍ