У меня есть этот пользовательский тип, который я бы хотел добавить к первичному ключу или индексу:
IF NOT EXISTS (
SELECT *
FROM sys.types st
JOIN sys.schemas ss
ON st.schema_id = ss.schema_id
WHERE st.name = N'DistCritGroupData'
AND ss.name = N'dbo')
BEGIN
CREATE TYPE [dbo].[DistCritGroupData] AS TABLE
(
[DistCritTypeId] [int] NOT NULL,
[ItemAction] [int] NOT NULL,
[ObjectId] [int] NOT NULL,
[OperatorType] [int] NOT NULL
);
END;
GO
В основном я хотел бы либо добавить первичный ключ, либо кластерный индекс. Я пробовал это, но получаю сообщение об ошибке "Не могу найти объект" dbo.DistCritGroupData ", потому что он не существует или у вас нет прав доступа.
CREATE TYPE [dbo].[DistCritGroupData] AS TABLE
(
[DistCritTypeId] [int] NOT NULL,
[ItemAction] [int] NOT NULL,
[ObjectId] [int] NOT NULL,
[OperatorType] [int] NOT NULL,
CONSTRAINT [DistCritGroupData0] PRIMARY KEY CLUSTERED
(
[DistCritTypeId] ASC
)
);
В Обозревателе объектов в моем определяемом пользователем типе таблицы я вижу разделы "Столбцы", "Ключи", "Ограничения" и "Индексы". Вопросы: как я добавляю ключ или индекс?