第 8章 管理数据库其他对象
8.1 用户自定义数据类型
8.2 默认值
8.3 规则
8.4 用户自定义函数
8.1 用户自定义数据类型
? 用户自定义数据类型的功能
如果 SQL Server提供的系统数据类型不能满足设计
需要,就可以使用用户自己定义数据类型。
8.1 用户自定义数据类型
用户自定义数据类型还有如下作用:
1、如果表中不同列经常出现相同的数据类型定义,那
么用户自定义数据类型可以使相似的数据类型标准
化,并避免重复设置的工作量。
2、如果将默认值或规则捆绑到用户自定义的数据类型
上,那么该默认值和规则就可以约束使用此数据类
型的列。
8.1 用户自定义数据类型
? 实现用户自定义数据类型
例 8.1 使用 Transact-SQL语句在 Xk数据库中创建一
个名为 Tel(电话号码)的用户定义数据类型,定义为
varchar数据类型,长度为 30,且该列不能为 NULL。
在查询分析器中运行如下命令:
USE Xk
GO
EXEC sp_addtype tel,’varchar(30)’,’NOT NULL’
GO
8.1 用户自定义数据类型
? 实现用户自定义数据类型
例 8.4 使用企业管理器删除例 8.3建立的自定义数
据类型。
1、在控制台树中展开 Xk数据库。
2、单击, 用户定义数据类型, 。
3、在右边的, 自定义数据类型列表, 中右击, Tel”,
在弹出的菜单中选择, 删除, 命令。
4、单击, 全部移去, 按钮确认删除。
8.2 默认值
? 默认值的概念及使用方法
,默认值, 是一种数据库对象,在数据库中定义一
次后,可以被多次应用于表中的一列或多列,还可用于
用户自定义的数据类型。
8.2 默认值
? 默认值的概念及使用方法
通常创建并使用默认值的步骤为:
1、创建一个默认值对象。
2、将其捆绑到列或用户自定义数据类型上。捆绑
默认值可以使用 sp_bindefault系统存储过程。
通常删除默认值的步骤为:
1、解除默认值捆绑的列或用户自定义数据类型。
解除捆绑了的默认值可以使用系统存储过程
sp_unbinddefault。
2、删除该默认值。
8.2 默认值
? 实现默认值
例 8.5 使用 Transact-SQL语句在 Xk数据库中创建名
为 UnsureDefault的默认值,表示, 待定,,然后将其
绑定到 Course表的 Teacher列。
8.2 默认值
?实现默认值
在查询分析器中运行如下命令:
USE Xk
GO
CREAT DEFAULT UnsureDefault AS ’待定 ’
GO
sp_bindefault UnsureDefault,‘Course.Teacher’
GO
8.3 规则
? 规则的概念及使用方法
规则也是实现数据完整性的方法之一,它的作用与
CHECK约束类似,在向表的某列插入或更新数据时,用
它来限制输入值的取值范围。
规则和默认值一样在数据库中定义一次就可以被多
次使用。
规则与 CHECK约束的不同之处:
1、在一列上只能使用一个规则,但可以使用多个
CHECK约束。
2、规则可以用于多个列,还可以用于用户自定义
的数据类型,而 CHECK约束只能应用于它定义的列。
8.3 规则
? 实现规则
例 8.9 使用 Transack-SQL语句在 Xk数据库中创建名
为 CreditRulet的规则,并将其绑定到 Course表的 Credit
列。
8.3 规则
? 实现规则
在查询分析器中运行如下命令:
USE Xk
GO
CREAT RULE CreditRule
AS @x>=1 AND @X<=5
GO
EXEC sp_bindrule CreditRule,‘course.Credit’
GO
8.4 用户自定义函数
? 用户自定义的函数是由一个或多个 Transact-SQL语句
组成的子程序。
? 用户自定义函数可以有输入参数和返回值,但没有输
出参数。当函数的参数有默认值时,调用该函数时必
须明确指定 DEFAULT关键字才能获取默认值。
? 可使用 CREATE FUNCTION语句创建,使用 ALTER
FUNCTION语句修改,使用 DROP FUNCTION语句除
去用户自定义函数。