sql自定义数据类型
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
6.2 用户自定义数据类型
6.2.1 创建用户自定义数据类型
可以使用T-SQL语句或企业管理器来完成用户自定义数据类型的创建。
1. 使用T-SQL语句
可以使用系统存储过程sp_addtype来创建用户自定义数据类型。语法是:sp_addtype type_name[,system_type]
{'NULL'|'NOT NULL'|'NONULL'}-默认为'NULL'
其中:
type_name为用户定义数据类型名,这个名称在数据库中必须是惟一的。
system_type 为用户定义的数据类型所基于的系统数据类型,可以包括数据的长度、精度等。当系统数据类型中包括标点符号(例如括号、逗号)时,应用引号括起来。
例如,创建一个“号码”数据类型可使用如下代码:
USE 学生图书借阅管理
EXEC sp_addtype 号码,'varchar(8)','NULL'
在查询分析器中执行上述语句,结果窗口显示如下信息:
(所影响的行数为1行)
类型已添加。
2. 使用企业管理器
使用企业管理器创建用户自定义数据类型的操作步骤如下:
(1)在企业管理器中展开要创建用户自定义数据类型的数据库,用鼠标右键单击“用户定义的数据类型”目录,在弹出的快捷菜单中选择“新建用户定义数据类型”命令,如图6-14所示。
图6-14 新建用户自定义数据类型
(2)打开的用户自定义数据类型属性对话框如图6-15所示。在图6-15所示对话框的名
称文本框中输入用户自定义数据类型的名称,如“号码”。
图6-15 用户自定义数据类型属性对话框
图6-16 创建用户自定义数据类型“号码”
(3)在图6-15所示对话框的“数据类型”下拉列表框中,选择该用户自定义数据类型所基于的系统数据类型,如varchar。
(4)如果选择的基类型是可以设定长度的(如varchar、char等),则还需要在长度文本框中设定数据类型的长度。
(5)如果允许空值,则选中“允许NULL值”复选框。
(6)如果希望该数据类型与规则或默认值捆绑,则分别在“规则”和“默认值”下拉列表框中选择要绑定的规则和默认值,否则选择“无”,如图6-16所示。规则和默认值将在
6.3节和6.4节中介绍。
(7)单击“确定”按钮,关闭对话框。
6.2.2 查看用户自定义数据类型
要查看用户自定义数据类型,可以使用sp_help 系统存储过程来查看用户自定义数据
类型的信息。包括它基于的系统数据类型,它的长度、精度,是否允许空值,以及在这一数据类型上捆绑的规则和默认值等。
例如,使用查询分析器查看用户自定义数据类型“号码",如图6-17所示。
图6-17 查看用户自定义数据类型“号码”
6.2.3 删除用户自定义数据类型
可以使用T-SQL语句和企业管理器来删除用户自定义数据类型。
1. 使用T-SQL语句
使用系统存储过程sp_droptype来删除用户自定义数据类型。语法为:
sp_droptype type_name
其中,type_name为要删除的用户自定义数据类型名。
注意:正在被表或数据库使用的用户自定义数据类型不能被删除。
例如,将“学生信息”表“电话”列的数据类型改为用户自定义数据类型“号码”,代码如下:
ALTER TABLE 学生信息
ALTER COLUMN 电话号码
如果此时使用系统存储过程sp_droptype删除用户自定义数据类型“号码”,SQL Server 会返回错误信息,如图6-18所示。
图6-18 错误信息
2. 使用企业管理器
使用企业管理器删除用户自定义的数据类型的操作步骤如下:
(1)在企业管理器中展开用户自定义数据类型所在的数据库,选中“用户自定义数据类型”,右边的窗口中将显示数据库中所有用户自定义数据类型。用鼠标右键单击要删除的用户自定义数据类型,在弹出的快捷菜单中选择“删除”命令。
(2)打开如图6-19所示的删除对话框。
(3)单击如图6-19所示对话框中的“全部除去”按钮。如果该数据类型正在被使用,则会显示如图6-20所示的警告
图6-19 删除对话框
图6-20 警告框