Compartilhar via


Definindo tabelas e colunas UDT

Após o registro do assembly que contém a definição UDT (tipo definido pelo usuário) em um banco de dados do Microsoft SQL Server, ele poderá ser usado em uma definição de coluna.

Criando tabelas com UDTs

Não há nenhuma sintaxe especial para criar uma coluna UDT em uma tabela. Você pode usar o nome do UDT em uma definição de coluna como se ele fosse um dos tipos de dados do SQL Server intrínsecos. A instrução Transact-SQL CREATE TABLE a seguir cria uma tabela chamada Points, com uma coluna chamada ID, que é definida como uma coluna de identidade int e também como a chave primária da tabela. A segunda coluna é chamada PointValue, com um tipo de dados de Point. O nome do esquema usado neste exemplo é dbo. Observe que você precisa ter as permissões necessárias para especificar um nome de esquema. Se você omitir o nome do esquema, será usado o esquema padrão do usuário de banco de dados.

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

Criando índices em colunas UDT

Há duas opções para indexar uma coluna UDT:

  • Indexar o valor cheio. Neste caso, se o UDT tiver ordem binária, você poderá criar um índice de toda a coluna UDT usando a instrução Transact-SQL CREATE INDEX.

  • Indexar expressões UDT. Você pode criar índices em colunas computadas persistidas das expressões UDT. A expressão UDT pode ser um campo, um método ou uma propriedade de um UDT. A expressão deve ser determinística e não deve acessar dados.

Para obter mais informações, consulte Tipos CLR definidos pelo usuário e CREATE INDEX (Transact-SQL).