使用用户定义类型 - 定义 UDT 表和列

适用于:SQL Server

在Microsoft SQL Server 数据库中注册包含用户定义类型(UDT)定义的程序集后,就可以在列定义中使用。 有关详细信息,请参阅 CREATE TYPE (Transact-SQL)

使用 UDT 创建表

没有用于在表中创建 UDT 列的特殊语法。 可以在列定义中使用 UDT 的名称,就好像它是内部 SQL Server 数据类型之一。 以下 CREATE TABLE Transact-SQL 语句创建一个名为 Points 的表,其中包含名为 ID 的列, 该列定义为 int 标识列和表的主键。 第二列名为 PointValue,数据类型为 Point。 此示例中使用的架构名称是 dbo。 请注意,您必须具有指定架构名称所需的权限。 如果省略架构名称,将使用数据库用户的默认架构。

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

对 UDT 列创建索引

有两个用于为 UDT 列编制索引的选项:

  • 为整个值编制索引。 在这种情况下,如果 UDT 是二进制排序的,则可以使用 CREATE INDEX Transact-SQL 语句在整个 UDT 列上创建索引。

  • 对 UDT 表达式编制索引。 您可以对 UDT 表达式在持久计算列上创建索引。 该 UDT 表达式可以是 UDT 的某一字段、方法或属性。 该表达式必须是确定性的并且不得执行数据访问。

有关详细信息,请参阅 CREATE INDEX (Transact-SQL)

另请参阅

使用 SQL Server 中的用户定义类型
CREATE TYPE (Transact-SQL)
CLR 用户定义类型