select k.name,k.type,k.type_desc,k.object_id
,col.name
from sys.key_constraints k
join
sys.index_columns ic on ic.object_id=k.parent_object_id
and ic.object_id= object_id('t1')
join
sys.all_columns col
on col.column_id=ic.column_id
and ic.object_id=col.object_id
は制約は、それが複合体であるよりも、複数のキーで構成されている場合..あなたは以下のように、カウントを行い、
その複合かどうかを確認することができます
name type type_desc object_id name
t11 UQ UNIQUE_CONSTRAINT 1221579390 id
t11 UQ UNIQUE_CONSTRAINT 1221579390 id1
の下に私に与えますこのサンプルデータの
;with cte
as
(
select k.name,k.type,k.type_desc,k.object_id
,col.name as colname,count(k.name) over (partition by k.name) as cnt
from sys.key_constraints k
join
sys.index_columns ic on ic.object_id=k.parent_object_id
and ic.object_id= object_id('t1')
join
sys.all_columns col
on col.column_id=ic.column_id
and ic.object_id=col.object_id
)
select *,case when cnt>=2 then 'composite' else 'not composite' end as 'Check'
from cte
create table t1
(
id int,
id1 int
)
Alter table t1 add constraint t11 unique (id,id1);
ありがとうございます。助けてください – user3756799
あなたを助けてくれてうれしいです – TheGameiswar