Чтобы определить индекс для табличной переменной, используйте ограничение primary key
или unique
.Вы можете назначить один кластеризованный.
Если вам нужен индекс для неуникального поля, просто добавьте уникальный ключ в конец списка столбцов индекса, чтобы сделать его уникальным.
Если переменная таблицы не имеет уникального поля, добавьте фиктивное уникальное поле, используя столбец идентификаторов.
Примерно так:
declare @t table (
dummy identity primary key nonclustered,
val1 nvarchar(50),
val2 nvarchar(50),
unique clustered (val1, dummy)
)
Теперь у вас есть табличная переменная с кластеризованным индексом для неуникального поля val1.