- 1、本文档共21页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SQL server 2005第7章 规则和默认值对象
第7章 规则和默认值 主讲人:刘明信 复习 索引的作用 索引的类型 创建索引的方法 系统自动创建索引 用户创建索引 删除索引的方法 drop index 索引名 alter table 表名 drop constraint 约束名 引: 请思考: 在创建数据表时,是如何实现数据完整性的? 这些约束是如何存储的? 第7章 规则和默认值教学内容 基础知识: 规则对象 默认值对象 实现数据完整性的主要方法 一、规则对象 1. 规则的概述 规则的含义 规则是绑定到列上的数据库对象,用来指定列可以接受哪些数据值。 规则是实现域完整性的方法之一。 规则与check约束的区别 check约束是用create table语句在建表时指定的,而规则是要用create rule语句创建,且可作为单独的数据库对象来使用。 在1列上只能使用1个规则,但可以使用多个check约束 1个规则可以应用于多个列,而check约束只能应用于它所定义的列。 一、规则对象 2.创建规则 语法格式: create rule 规则名 as 条件表达式 书写条件表达式的注意事项: 不能引用列名或其它数据库对象名。 条件表达式中包含一个以@开头的局部变量,该变量代表在修改该列的记录时用户输入的数值。 一、规则对象 2.创建规则 实例2:在xscj库中定义1个规则,限制联系电话的格式为“(区号)电话号码”,其中区号为4位,电话号码至少为6位 。 一、规则对象 2.创建规则 课堂练习1:在xscj库中,定义1个名为“ro_正数”的规则,限制使用了该规则的列的值必须大于0 。 一、规则对象 3.绑定规则 规则创建好后,必须绑定到列上才能生效。 用系统存储过程实现绑定: [exec] sp_bindrule 规则名 , ‘表名.列名’ 说明: 如果列上已经绑定了规则,当再次向它们绑定规则时,旧规则将被新规则覆盖。 绑定规则后,当有不符合规则的数据输入时,系统会给出错误信息,拒绝接受该值。 一、规则对象 3.绑定规则 实例3:将名为“ro_电话格式”的规则绑定到xsqk表的“联系电话”列上。 实例4:将名为“ro_正数”的规则分别绑定到——xsqk表的“总学分”列、xs_kc表的“成绩”和“学分”列、kc表的“开课学期”和“学分”列上。 一、规则对象 3.绑定规则 课堂练习2:在xscj库中,创建一个名为“ro_学时”的规则,以限制学时数至少在20以上,并将该规则绑定到kc表的“学时”列上。 一、规则对象 4.解除绑定的规则 用系统存储过程解除绑定 [exec] sp_unbindrule ‘表名.列名’ 实例5:解除绑定在xsqk、xs_kc、kc表列上的规则。 一、规则对象 5.删除规则 语法格式: drop rule 规则名[,…n] 说明: 删除一个规则前,必须先将规则从它所绑定的列上解除,否则,会显示错误信息 。 实例6:删除xscj库中的规则。 drop rule ro_电话格式, ro_正数, ro_学时 二、默认值对象 1.概述 定义 默认值就是当用户向表中添加数据时,没有明确地给出,而由SQL Server自动指派的值。 默认值可以定义为数据库对象,使用时需将其绑定到特定的列上。 默认值约束与默认值对象的区别 默认值约束是用create table语句创建表时,使用default子句为表中的列提供默认值。 默认值对象是用create default语句来创建的,使用时须将它绑定到列上。 二、默认值对象 2.创建默认值对象 语法格式: create default 默认值对象名 as 常量表达式 说明: 字符和日期型数据:必须用单引号‘’括起来 二进制数据:必须以0x作前导符 货币型数据:以美元符号$开头 整数和浮点数:不需要任何定界符 二、默认值对象 2.创建默认值对象 课堂练习:在xscj库中定义1个名为“dfo_备注”的默认值对象,限制使用了该默认值对象的列的值为“统招生” 。 use xscj create default dfo_备注 as ‘统招生’ 二、默认值对象 3.绑定和解除默认值对象 绑定默认值对象 [exec] sp_bindefault 默认值名, ‘表名.列名’ 解除绑定 [exec] sp_unbindefault ‘表名.列名’ 实例8:将 默认值对象“dfo_备注”绑定到xsqk表的“备注”列上。 sp_bindefault dfo_备注, ’xsqk.备注’
文档评论(0)