SQL Server で特定のテーブルを参照するすべての外部キーを一覧表示するにはどうすればよいでしょうか? 質問する

SQL Server で特定のテーブルを参照するすべての外部キーを一覧表示するにはどうすればよいでしょうか? 質問する

SQL Server データベース内の参照頻度の高いテーブルを削除する必要があります。テーブルを削除するために削除する必要があるすべての外部キー制約のリストを取得するにはどうすればよいでしょうか?

(管理スタジオの GUI でクリックするよりも、SQL の回答の方が優れています。)

ベストアンサー1

なぜ誰も提案しなかったのか分かりませんが、私は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 のテーブルを検索します。存在する場合、そのテーブルの列が返されます。

おすすめ記事