SQL Server数据库技术(56)

2016-01-29 16:57 7 1 收藏

SQL Server数据库技术(56),SQL Server数据库技术(56)

【 tulaoshi.com - SQLServer 】

   规则(Rule) 就是数据库中对存储在表的列或用户自定义数据类型中的值的规定和限制。规则是单独存储的独立的数据库对象。规则与其作用的表或用户自定义数据类型是相互独立的,即表或用户自定义对象的删除、修改不会对与之相连的规则产生影响。规则和约束可以同时使用,表的列可以有一个规则及多个CHECK 约束。规则与CHECK 约束很相似,相比之下,使用在ALTERTABLE 或CREATE TABLE 命令中的CHECK 约束是更标准的限制列值的方法,但CHECK 约束不能直接作用于用户自定义数据类型。

9.2.1 创建规则
(1) 用CREATE RULE 命令创建规则
CREATE RULE 命令用于在当前数据库中创建规则,其语法如下:
CREATE RULE rule_name AS condition_expression
其中condition_expression 子句是规则的定义。condition_expression 子句可以是能用于WHERE 条件子句中的任何表达式,它可以包含算术运算符、关系运算符和谓词(如IN、LIKE、 BETWEEN 等)。

注意:condition_expression子句中的表达式必须以字符“@”开头。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/sqlserver/)



(2) 用Enterprise Manager 创建规则
在Enterprise Manager 中选择数据库对象“Rules”,单击右键从快捷菜单中选择“NewRule”选项,即会弹出如图9-1 所示的创建规则属性对话框。输入规则名称和表达式之后,单击“确定”按钮,即完成规则的创建。


9.2.2 查看规则
(1) 用Enterprise Manager 查看规则
在Enterprise Manager 中选择“Rules” 对象,即可从右边的任务板中看到规则的大部分信息,包括规则的名称、所有者、创建时间,等如图9-2 所示。在SQL Server 2000 中不像7.0 版本可以直接在任务板中看到规则的表达式,这需要查看规则的属性。可以选择要查看的规则,单击右键,从快捷菜单中选择“Properties” 选项,即会出现如图9-3 所示的对话框,可以从中编辑规则的表达式。修改规则的名称可以通过Sp_rename 系统存储过程进行,也可以直接在图9-2 中用右键单击要修改的规则,从快捷菜单中选择“重命名(Rename)” 菜单项,进行名称修改。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/sqlserver/)

(2) 用存储过程Sp_helptext 查看规则
使用Sp_helptext 存储过程可以查看规则的细节,其语法如下:
sp_helptext [@objname =] 'name'
其中[@objname =] 'name'子句指明对象的名称,用Sp_helptext 存储过程查看的对象可
以是当前数据库中的规则、缺省值、触发器、视图或未加密的存储过程。

 
例9-5: 查看规则hire_date_rule。
exec sp_helptext hire_date_rule
运行结果如下:
Text
--------------------------------------------------------------------------------------
create rule hire_date_rule
as @hire_date = '1980-01-01' and @hire_date <= getdate()

9.2.3 规则的绑定与松绑
创建规则后,规则仅仅只是一个存在于数据库中的对象,并未发生作用。需要将规则与数据库表或用户自定义对象联系起来,才能达到创建规则的目的。联系的方法称为“绑定”。所谓绑定就是指定规则作用于哪个表的哪一列或哪个用户自定义数据类型。表的一列或一个用户自定义数据类型只能与一个规则相绑定,而一个规则可以绑定多对象,这正是规则的魅力所在。解除规则与对象的绑定称为“松绑”。

(1) 用存储过程Sp_bindrule 绑定规则
存储过程Sp_bindrule 可以绑定一个规则到表的一个列或一个用户自定义数据类型上。其语法如下:
sp_bindrule [@rulename =] 'rule',
[@objname =] 'object_name'
[, 'futureonly']
各参数说明如下:
[@rulename =] 'rule'
指定规则名称。
[@objname =] 'object_name'
指定规则绑定的对象。
'futureonly'

来源:http://www.tulaoshi.com/n/20160129/1499900.html

延伸阅读
标签: SQLServer
在企业管理器中可以很方便地调用其它SQL Server 工具,如SQL Server Query Analyzer (查询分析器)、SQL Server Profiler (跟踪器)等,只须从“Tools (工具)”菜单中选择相应的工具即可。 SQL Server 2000 中提供了大量的向导工具,可以引导用户完成一系列的数据库与服务器管理工作。可以从“Tools (工具)”菜单中选择“Wizards” 选项,或从工...
标签: SQLServer
除了使用系统提供的数据类型外,用户还可以根据需要用自定义的数据类型来定义表的列或声明变量。 7.3.1 用Enterprise Manager 创建用户自定义数据类型 用Enterprise Manager 创建用户自定义数据类型的方法是:在Enterprise Manager 中选择要创建用户自定义类型的数据库,在数据库对象“User Defined Data Types”上单击右键,从开始菜单...
标签: SQLServer
11.3.1 UPDATE 语法 用户可以用UPDATE 语句来更新表中一列或多列数据值,其语法如下: 各参数说明如下: SET SET 子句用于指定更新的方法,即用 的值取代相应的列的值。如果省略 WHERE 子句,那么表中的所有数据均会受到影响。在FROM 子句中指定的表或列的别名不能用于SET 子句中。 column_name 指定要更新数据的列。IDENTITY 列不能...
标签: SQLServer
    在MS SQL Server 2000 中,创建一个存储过程有两种方法:一种是使用Transaction-SQL 命令Create Procedure, 另一种是使用图形化管理工具Enterprise Manager。 用Transaction- SQL 创建存储过程是一种较为快速的方法,但对于初学者,使用Enterprise Manager 更易理解,更为简单。 当创建存储过程时,需要确定存储过程...
标签: SQLServer
每一个游标必须有四个组成部分这四个关键部分必须符合下面的顺序; 1.DECLARE 游标 2.OPEN 游标 3.从一个游标中FETCH 信息 4.CLOSE 或DEALLOCATE 游标 通常我们使用DECLARE 来声明一个游标声明一个游标主要包括以下主要内容: 游标名字 数据来源(表和列) 选取条件 属性(仅读或可修改) 其语法格式如下: DECLARE cursor_name [INSENSITIVE] [...

经验教程

594

收藏

85

精华推荐

SQL Server数据库技术(94)

SQL Server数据库技术(94)

演绎_新的精彩

SQL Server数据库技术(85)

SQL Server数据库技术(85)

可靠的铁柱

SQL Server数据库技术(99)

SQL Server数据库技术(99)

姐你惹不起659

微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部