なぜ誰も提案しなかったのかわかりませんが、私はsp_fkeys
を使用しています 特定のテーブルの外部キーを照会するには:
EXEC sp_fkeys 'TableName'
スキーマを指定することもできます:
EXEC sp_fkeys @pktable_name = 'TableName', @pktable_owner = 'dbo'
スキーマを指定せずに、ドキュメントには次のように記載されています:
pktable_ownerが指定されていない場合、基盤となるDBMSのデフォルトのテーブル可視性ルールが適用されます。
SQL Serverでは、現在のユーザーが指定された名前のテーブルを所有している場合、そのテーブルの列が返されます。 pktable_ownerが指定されておらず、現在のユーザーが指定されたpktable_nameのテーブルを所有していない場合、プロシージャはデータベース所有者が所有する指定されたpktable_nameのテーブルを検索します。存在する場合は、そのテーブルの列が返されます。