プロが教えるわが家の防犯対策術!

初心者です。

SQL SERVER 2005で
データベースで使用されている外部キーの一覧を取得したいのですが、

SELECT * FROM sys.objects WHERE type = 'F'

SELECT * FROM sys.foreign_keys

では、実際にどのテーブル・どの項目が使用されているのかが取得できません。
どのようなSQL文を書いたらいいでしょうか?

よろしくお願いします!

A 回答 (1件)

SQL Server 2005とのことなので、情報スキーマを利用するのが簡単だと思います。



http://msdn2.microsoft.com/ja-jp/library/ms18677 …

検索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
;
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!