SysIndex - разница ч / б is_unique и is_unique_constraint - PullRequest
3 голосов
/ 19 августа 2010

при выполнении запроса на выборку в SQL Server 2008, sys.indexes дает мне информацию об индексе, определенном для базы данных.

Есть 2 поля: is_unique и is_unique_constraint. Я не понимаю разницу между ними.

1 Ответ

1 голос
/ 19 августа 2010

Надеюсь, эта простая демка прояснит вам ситуацию.В индексе таблицы X будут установлены оба значения, а в индексе таблицы Y будет установлен только is_unique.

create table X (
    id int CONSTRAINT x_is_unique UNIQUE
)

create table Y (
    id int
)

create unique index y_is_unique on Y(id)

select name, is_unique, is_unique_constraint
    from sys.indexes
    where object_id in (object_id('X'), object_id('Y'))
        and name is not null

drop table X
drop table Y
...