2017-09-15 10 views
0

複合キーであるかどうか:は、SQL Serverでの作業SQL Serverで

Alter Table <table_name> Add Constraint <Constraint_Name> Unique (<Column1,Column2>) 

私は私のテーブルの上に一意キー制約を作成し、このユニークなキーが2列、すなわちcolumn1column2で構成され。

もし私がConstraint_Nameを持っていたら、このコンストレイントがコンポジットかどうかを見つける方法はありますか?

答えて

0
SELECT * 
FROM <table_name> 
WHERE <column1> = <something> AND <column2> = <something_else> 

それは以上1列のから構成されているので、はい、これは、複合キーであろう。 MSDN Primer on Keys

0

あなたはobject_idindex_idに基づいて一緒にsys.indexessys.index_columnsに参加することができます。制約名を使用して、sys.indexesの名前と一致させます。返される結果行の数によって、インデックスに含まれる列の数がわかるため、1列の結果が1つの列になり、複数行の結果が複数列の索引になります。

sys.index_columnsページの例では、COL_NAME関数を使用して列名に変換する方法を示しています。または、sys.columnsに参加してそのデータを戻すことができます。

(一意キー制約は同じ名前の一意のインデックスとして実装されます)

関連する問題