Definir tablas y columnas de UDT

Una vez que el ensamblado que contiene la definición del tipo definido por el usuario (UDT) se ha registrado en una base de datos de Microsoft SQL Server, se puede utilizar en una definición de columna.

Crear tablas con UDT

No hay ninguna sintaxis especial para crear una columna UDT de una tabla. Puede utilizar el nombre del UDT en una definición de columna como si fuera uno de los tipos de datos SQL Server intrínsecos. La instrucción CREATE TABLE siguiente de Transact-SQL crea una tabla denominada Points, con una columna denominada ID que se define como una columna de identidad int y la clave principal de la tabla. La segunda columna se denomina PointValue, con un tipo de datos Point. El nombre de esquema utilizado en este ejemplo es dbo. Observe que debe tener los permisos necesarios para especificar un nombre de esquema. Si omite el nombre de esquema, se utiliza el esquema predeterminado para el usuario de la base de datos.

CREATE TABLE dbo.Points 
(ID int IDENTITY(1,1) PRIMARY KEY, PointValue Point)

Crear índices en columnas UDT

Hay dos opciones para indizar una columna UDT:

  • Indizar el valor completo. En este caso, si el UDT es binario ordenado, puede crear un índice sobre la columna UDT completa utilizando la instrucción CREATE INDEX de Transact-SQL.

  • Indizar las expresiones UDT. Puede crear los índices en las columnas calculadas mantenidas en las expresiones UDT. La expresión UDT puede ser un campo, método o propiedad de un UDT. La expresión debe ser determinista y no realizar el acceso a los datos.

Para obtener más información, vea Tipos definidos por el usuario de CLR y CREATE INDEX (Transact-SQL).