当前位置:文档之家› sql自定义数据类型

sql自定义数据类型

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 警告框。

相关主题