私は、特定の列名を持つカラムは、私のデータベースに表示される場所に関する情報を取得したい場合、私はこのクエリを実行することができますMicrosoft SQLで特定の列名を持つ主キーを持つテーブルを検索するにはどうすればよいですか?マイクロソフトSQLで
select * from information_schema.columns where column_name = 'XXXXX';
このクエリは、どこのインスタンスに関する豊富な情報を返します。名前を持つ列が表示されますが、参照制約については何も表示されません。
私は以下のいくつかの他のクエリを試してみたが、どれも私が欲しい情報を得ているように見えるん:
select * from INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS
select * from INFORMATION_SCHEMA.TABLE_CONSTRAINTS
select * from INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE
私はこのような何かをするだろうクエリを書きたい:
select table_schema, table_name from INFORMATION_SCHEMA.COLUMNS
where column_name = 'XXXXX' and IsPrimaryKey = 1;
編集:この質問は、特定のテーブルの主キーを見つけることに関する質問と重複することが示唆されました。この質問は関連していますが、私は列の名前(多くのテーブルで発生する可能性があります)を知っていて、同じ名前の主キー列を持つテーブルがあるかどうかを知りたいからです。
PRIMARY_KEYがクラスタ化されたキーの場合は、それがテーブルです。 – DVT
http://stackoverflow.com/questions/3930338/sql-server-get-table-primary-key-using-sql-query – SQLChao
SQL Serverのどのバージョンですか? –