ので、私はT-SQLに慣れていないが、私は、Oracleに精通しています:
あなたが与えられたため、すべての参照整合性制約のためにデータ・ディクショナリを照会している表示されます表、およびそれぞれについて、外部キー・フィールド、およびそれらが参照する表の関連フィールドおよび表を報告します。
この情報は、ALL_CONSTRAINTS
およびALL_CONS_COLUMNS
データ・ディクショナリ・ビュー(または問合せの範囲に応じてDBA_CONSTRAINTS/DBA_CONS_COLUMNS or USER_CONSTRAINTS/USER_CONS_COLUMNS
)に保持されます。私は参照制約が連結キーを伴う場合に便利ですクエリ内の制約名(ForeignConstraintとReferencedConstraint)を追加しました
SELECT fc.constraint_name AS ForeignConstraint
,fc.r_constraint_name AS ReferencedConstraint
,fcc.column_name AS ForeignKeyField
,rcc.column_name AS ReferencedKeyField
,rc.table_name AS ReferencedTable
FROM sys.all_constraints fc
,sys.all_constraints rc
,sys.all_cons_columns fcc
,sys.all_cons_columns rcc
WHERE fc.table_name = :name
AND fc.constraint_type = 'R'
AND fc.r_constraint_name = rc.constraint_name
AND fc.constraint_name = fcc.constraint_name
AND rc.constraint_name = rcc.constraint_name
AND fcc.position = rcc.position
ORDER BY fc.constraint_name, fcc.position;
:私はこのようなクエリを実行します。