数据完整性之默认值约束及默认值对象.ppt_第1页
数据完整性之默认值约束及默认值对象.ppt_第2页
数据完整性之默认值约束及默认值对象.ppt_第3页
数据完整性之默认值约束及默认值对象.ppt_第4页
数据完整性之默认值约束及默认值对象.ppt_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据完整性 之域完整性的实现(2),域完整性的实现,实现域完整性通过 CHECK约束 规则 默认值约束 默认值对象,默认值约束及默认值对象,可以为字段定义默认值,方便用户的使用。通过两种方式实现: (1)在创建表或修改表时,定义默认值约束。 (2)先定义默认值对象,然后将该对象绑定到表的相应字段。,默认值约束,1默认值约束的定义及删除 (1)定义 方法一:通过企业管理器实现 方法二:SQL语句实现创建表时定义一个字段的默认值约束 CREATE TABLE table_name /*指定表名 (column_name datatype NOT NULL | NULL DEFAULT constraint_expression /*默认值约束 ,n) 说明: constraint_expression表达式为默认值约束表达式,此表达式只能是常量、系统函数或NULL。对于timestamp或带IDENTITY属性的字段不能定义默认值约束。 课外阅读:,【例】在创建表时定义一个字段的默认值约束。,在定义默认值约束的同时指定约束名。 USE XS CREATE TABLE XSDA1 ( 学号 char(6) NOT NULL, 姓名 char(6) NOT NULL, 专业名 char(10) NULL, 性别 bit NOT NULL CONSTRAINT sexdflt DEFAULT 1 ) GO 课外阅读:,默认值约束,方法三:SQL语句实现修改表时定义一个字段的默认值约束 【例】在修改表时定义一个新字段政治面貌并为其添加默认值约束团员。 USE XS ALTER TABLE XSDA1 ADD 政治面貌 char(4) NOT NULL CONSTRAINT zzmmdflt3 DEFAULT 团员 WITH VALUES GO 说明:如果添加的新列允许空值,若使用了WITH VALUES,则将为表中各现有行添加的新字段提供默认值;如果没有使用WITH VALUES,那么每一行的新列中都将为NULL值。如果添加的新列不允许空值,则不论是否有WITH VALUES选项,那么表中各现有行添加的新字段都将取上述默认值。,默认值约束,【例5-12】在修改表时为学分字段添加默认值约束值为6。 USE XS ALTER TABLE KCXX ADD CONSTRAINT XF_DEFA DEFAULT(6) FOR 学分 GO (2)默认值约束的删除 【例5-12】删除上例定义的默认值约束。 USE XS ALTER TABLE XSDA DROP CONSTRAINT XF_DEFA GO(课外阅读:),默认值对象,2默认值对象的定义、使用及删除 (1)使用企业管理器定义和绑定DEFAULT默认值对象 使用企业管理器定义DEFAULT默认值对象 以XS数据库为例,对于XSDA表中的民族字段,定义其默认值为“汉”。 使用企业管理器绑定DEFAULT默认值对象 默认值对象定义以后,要让它生效,必须绑定到列或用户定义数据类型。 方法1:右键单击默认值对象-【属性】, 【绑定UDT】,表示绑定到用户定义数据类型; 【绑定列】,表示绑定到列。 方法2:表设计器下拉列表,默认值对象,(2)使用T-SQL语句定义和绑定DEFAULT默认值对象 使用T-SQL语句定义DEFAULT默认值对象 CREATE DEFAULT default_name AS constant_expression 说明:默认值对象名必须符合标识符规则。约束表达式constant_expression只能是常量表达式。默认值对象必须与列数据类型兼容。 课外阅读:,默认值对象, 使用系统存储过程绑定默认值对象 sp_bindefault defname=default, objname=object_name 说明: default指定默认值对象名; object_name指定准备绑定默认值对象的表的列名(格式为:表名.字段名)或用户定义的数据类型名。不能将默认值对象绑定到timestamp数据类型的列、带IDENTITY属性的列或者已经有DEFAULT约束的列; 课外阅读:,【例】对于前面所述的XSDA表中的民族字段可用如下程序实现默认值设置为“汉”。 USE XS GO CREATE DEFAULT mz_default AS 汉 GO EXEC sp_bindefault mz_default1,XSDA.民族 GO 【例】在XS数据库中创建名为rxdate的默认值对象(取值为当前系统日期),然后将其绑定到XSXX表(例5-1中创建)的入学日期列。 USE XS GO CREATE DEFAULT rxdate AS getdate() GO EXEC sp_bindefault rxdate,XSXX.入学日期 GO,【例】对于前面所述的XSDA表中的民族字段可用如下程序实现默认值设置为“汉”。 USE XS GO CREATE DEFAULT mz_default AS 汉 GO EXEC sp_bindefault mz_default1,XSDA.民族 GO 【例】在XS数据库中创建名为rxdate的默认值对象(取值为当前系统日期),然后将其绑定到XSXX表(例5-1中创建)的入学日期列。 USE XS GO CREATE DEFAULT rxdate AS getdate() GO EXEC sp_bindefault rxdate,XSXX.入学日期 GO,默认值对象,(3)默认值对象的删除 应解除默认值对象的绑定关系,然后才能删除该默认值对象。 使用sp_unbindefault解除绑定关系 sp_unbindefault objname=object_name 说明:参数object_name为要解除默认值对象绑定关系的字段名(格式为:表名.字段名)或用户定义类型名。 删除默认值对象 DROP DEFAULT default,n 说明:参数default为现有默认值对象名;参数n表示可以指定多个默认值对象同时删除。,【例】解除默认值对象xb_default与用户定义数据类型sex的绑定关系,然后删除名为xb_default的默认值对象。 USE XS IF EXISTS(SELECT name FROM sysobjects WHERE name=xb_default AND type=D) BEGIN EXEC sp_unbindefault sex DROP DEFAULT xb_defaul

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论