- ベストアンサー
データベースからFOREIGN KEYの一覧を取得したい
初心者です。 SQL SERVER 2005で データベースで使用されている外部キーの一覧を取得したいのですが、 SELECT * FROM sys.objects WHERE type = 'F' や SELECT * FROM sys.foreign_keys では、実際にどのテーブル・どの項目が使用されているのかが取得できません。 どのようなSQL文を書いたらいいでしょうか? よろしくお願いします!
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
SQL Server 2005とのことなので、情報スキーマを利用するのが簡単だと思います。 http://msdn2.microsoft.com/ja-jp/library/ms186778.aspx 検索SQLとしては、こんな感じです。 select ref.CONSTRAINT_NAME, col.TABLE_SCHEMA, col.TABLE_CATALOG, TABLE_NAME, COLUMN_NAME, ORDINAL_POSITION from INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS as ref, INFORMATION_SCHEMA.KEY_COLUMN_USAGE as col where ref.CONSTRAINT_NAME=col.CONSTRAINT_NAME order by ref.CONSTRAINT_NAME,ORDINAL_POSITION ;