que tienen este tipo definido por el usuario que me gustaría añadir una clave principal o el índice que:¿Cómo agregar un índice o clave principal a un tipo de tabla definida por el usuario en SQL Server?
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
básicamente gustaría o bien agregar una clave principal o un índice agrupado. Intenté esto pero recibí el error "No se puede encontrar el objeto" dbo.DistCritGroupData "porque no existe o no tienes permisos.
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
)
);
que ver en el Explorador de objetos en mi definida por el usuario tipo de tabla que hay secciones de "Columnas", "claves", "limitaciones" y "índices". La pregunta es, ¿cómo puedo agregar una clave o índice?
¿La "clave principal de la tabla xyz" es un identificador válido? Necesita algún nombre para sys.objects .. – gbn
@gbn Es absolutamente único y puede evaluar el nombre único generado de las tablas del sistema, si es necesario. –
Necesita una clave o restricción con nombre cuando está trabajando con el control de origen. Entonces las claves o restricciones con nombre son muy útiles. – eghetto