SQLServer技术(56)
来源:互联网 发布:图片编辑文字软件 编辑:程序博客网 时间:2024/04/27 22:19
规则(Rule)就是数据库中对存储在表的列或用户自定义数据类型中的值的规定和限制。规则是单独存储的独立的数据库对象。规则与其作用的表或用户自定义数据类型是相互独立的,即表或用户自定义对象的删除、修改不会对与之相连的规则产生影响。规则和约束可以同时使用,表的列可以有一个规则及多个CHECK约束。规则与CHECK约束很相似,相比之下,使用在ALTERTABLE或CREATETABLE命令中的CHECK约束是更标准的限制列值的方法,但CHECK约束不能直接作用于用户自定义数据类型。
CREATERULE命令用于在当前数据库中创建规则,其语法如下:
CREATERULErule_nameAScondition_expression
其中condition_expression子句是规则的定义。condition_expression子句可以是能用于WHERE条件子句中的任何表达式,它可以包含算术运算符、关系运算符和谓词(如IN、LIKE、BETWEEN等)。
注意:condition_expression子句中的表达式必须以字符“@”开头。
(2)用EnterpriseManager创建规则
在EnterpriseManager中选择数据库对象“Rules”,单击右键从快捷菜单中选择“NewRule”选项,即会弹出如图9-1所示的创建规则属性对话框。输入规则名称和表达式之后,单击“确定”按钮,即完成规则的创建。
在EnterpriseManager中选择“Rules”对象,即可从右边的任务板中看到规则的大部分信息,包括规则的名称、所有者、创建时间,等如图9-2所示。在2000中不像7.0版本可以直接在任务板中看到规则的表达式,这需要查看规则的属性。可以选择要查看的规则,单击右键,从快捷菜单中选择“Properties”选项,即会出现如图9-3所示的对话框,可以从中编辑规则的表达式。修改规则的名称可以通过Sp_rename系统存储过程进行,也可以直接在图9-2中用右键单击要修改的规则,从快捷菜单中选择“重命名(Rename)”菜单项,进行名称修改。
(2)用存储过程Sp_helptext查看规则
使用Sp_helptext存储过程可以查看规则的细节,其语法如下:
sp_helptext[@objname=]'name'
其中[@objname=]'name'子句指明对象的名称,用Sp_helptext存储过程查看的对象可
以是当前数据库中的规则、缺省值、触发器、视图或未加密的存储过程。
例9-5:查看规则hire_date_rule。
execsp_helptexthire_date_rule
运行结果如下:
Text
--------------------------------------------------------------------------------------
createrulehire_date_rule
as@hire_date>='1980-01-01'and@hire_date<=getdate()
(1)用存储过程Sp_bindrule绑定规则
存储过程Sp_bindrule可以绑定一个规则到表的一个列或一个用户自定义数据类型上。其语法如下:
sp_bindrule[@rulename=]'rule',
[@objname=]'object_name'
[,'futureonly']
各参数说明如下:
[@rulename=]'rule'
指定规则名称。
[@objname=]'object_name'
指定规则绑定的对象。
'futureonly'
此选项仅在绑定规则到用户自定义数据类型上时才可以使用。当指定此选项时,仅以后使用此用户自定义数据类型的列会应用新规则,而当前已经使用此数据类型的列则不受影响。
例上一页
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
- SQLServer技术(56)
- SQLServer技术(103)
- SQLServer技术(104)
- SQLServer技术(105)
- SQLServer技术(106)
- SQLServer技术(107)
- SQLServer技术(108)
- SQLServer技术(109)
- SQLServer技术(110)
- SQLServer技术(111)
- SQLServer技术(112)
- SQLServer技术(113)
- SQLServer技术(114)
- SQLServer技术(115)
- SQLServer技术(116)
- SQLServer技术(117)
- SQLServer技术(118)
- SQLServer技术(119)
- SQLServer技术(54)
- 通过Ping排除路由器故障
- 收藏的一些网址(敏捷开发)
- SQLServer技术(55)
- Visual Studio 2005 Team System的测试驱动开发
- SQLServer技术(56)
- 巧用交换机解决局域网安全
- SQLServer技术(57)
- RSS 2.0 DTD,网上找来两个
- 敏捷开发与极限编程(XP)讨论会
- 如何安装tomcat服务器
- SQLServer技术(58)
- Repeater调用存储过程+数字分页
- SQLServer技术(59)