• ベストアンサー

どれがPrimary Key、ForeignKeyか調べるSQL教えて

テーブルの中には通常、Primary Key および Foreign Keyが設定されていると思いますが、あるテーブルの中でどれがPrimary Key および Foreign Keyとされているのか見れるSQLコマンドって、あるのでしょうか、教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • pcg733
  • ベストアンサー率78% (11/14)
回答No.2

Primary Key(主キー制約)、Foreign Key(参照整合性制約)は共にデータ整合性をチェックする為の「制約」です。 それらはCreate tableやAlter tableというSQL構文で作成することは出来ますが、どの列に設定されているか参照する為のSQL文はありません。 Oracleの場合、User_ConstraintsやUser_Cons_columnsの「データディクショナリ」表をSelect文で表の情報(もちろん制約の情報も)がわかります。 例:Select * from User_Constraints; 他のデータベース(SYBASEとかSQLSERVERとか)は違うかもしれないので確認した方が宜しいと思います。

Kchan
質問者

お礼

pcg733さんのおっしゃるとうり確認してみたところ、データディクショナリ表を見つけることができました。助かりました、ありがとうございます。

その他の回答 (2)

回答No.3

どのデータベースを使用しているのかわからないのですが、もし「SQLServer」であれば、  sp_help <テーブル名> で、テーブルの構成情報が表示されます。

  • xinman
  • ベストアンサー率30% (25/83)
回答No.1

Kchanさんゴメンナサイ。 わたしが知る限りそのようなコマンドはありません。 でも、特定のデータベースにはそのデータベース特有のコマンドとしてある可能性はあります。

関連するQ&A