创建用户定义的数据类型别名
适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例
本主题介绍了如何使用 SQL Server Management Studio 或 Transact-SQL 在 SQL Server 中创建用户定义的数据类型别名。
本主题内容
开始之前:
创建用户定义的数据类型别名,使用:
开始之前
限制和局限
- 用户定义的数据类型别名必须符合标识符的规则。
安全性
权限
要求在当前数据库中具有 CREATE TYPE 权限,以及具有对 schema_name的 ALTER 权限。 如果未指定 schema_name ,则将应用用于确定当前用户的架构的默认名称解析规则。
使用 SQL Server Management Studio
创建用户定义数据类型
在“对象资源管理器”中,依次展开“数据库”、一个数据库、“可编程性”和“类型”,右键单击“用户定义数据类型”,然后单击“新建用户定义数据类型”。
允许 Null
指定用户定义数据类型是否可以接受 Null 值。 不能编辑现有的用户定义数据类型的为 NULL 性。数据类型
从列表框中选择基本数据类型。 该列表框显示除 geography、 geometry、 hierarchyid、 sysname、 timestamp 和 xml 数据类型之外的所有数据类型。 不能编辑现有的用户定义数据类型的数据类型。Default
(可选)选择要绑定到用户定义数据类型别名的默认值。长度/精度
相应地显示数据类型的长度或精度。 长度 适用于基于字符的用户定义数据类型; 精度 仅适用于基于数字的用户定义数据类型。 该标签会根据先前所选的数据类型而相应地改变。 如果所选数据类型的长度或精度是固定的,则不能编辑此框。不会显示 nvarchar(max)、 varchar(max)或 varbinary(max) 数据类型的长度。
Name
如果创建新的用户定义数据类型别名,请键入用于在整个数据库中表示用户定义数据类型的唯一名称。 最大字符数必须符合系统的 sysname 数据类型的要求。 不能编辑现有的用户定义数据类型别名的名称。规则
(可选)选择要绑定到用户定义数据类型别名的规则。缩放
指定可以在小数点右存储的十进制数字的最大位数。架构
从包含当前用户的所有可用架构的列表中选择架构。 默认选择是当前用户的默认架构。存储
显示用户定义数据类型别名的最大存储大小。 最大存储大小会根据精度的不同而变化。Precision 最大存储大小 1 - 9 5 10 - 19 9 20 - 28 13 29 - 38 17 对于 nchar 和 nvarchar 数据类型,存储值始终是 “长度”中值的两倍。
不会显示 nvarchar(max)、 varchar(max)或 varbinary(max) 数据类型的存储。
在“新建用户定义数据类型”对话框的“架构”框中,键入此数据类型别名所属的架构,或使用浏览按钮选择架构。
在 “名称” 框中,键入新数据类型别名的名称。
在 “数据类型” 框中,选择新数据类型别名所基于的数据类型。
如果该数据类型适用,请填写 “长度”框、 “精度”框和 “小数位数” 框。
如果新数据类型别名允许 Null 值,请选中 “允许 NULL” 。
如果希望为新数据类型别名绑定默认值或规则,请在 “绑定” 区域中,填写 “默认值” 框或 “规则” 框。 无法在 SQL Server Management Studio 中创建默认值和规则。 使用 Transact-SQL。 模板资源管理器中提供了创建默认值和规则的示例代码。
“使用 Transact-SQL”
创建用户定义的数据类型别名
连接到 数据库引擎。
在标准菜单栏上,单击 “新建查询” 。
将以下示例复制并粘贴到查询窗口中,然后单击“执行” 。 此示例基于系统提供的
varchar
数据类型创建一个数据类型别名。ssn
数据类型别名用于那些保存 11 位数字的社会保障号 (999-99-9999) 的列。 该列不能为 NULL。
CREATE TYPE ssn
FROM varchar(11) NOT NULL ;
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈