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

下载本文档

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

文档简介

数据完整性之域完整性的实现 域完整性的实现 实现域完整性通过 CHECK约束规则默认值约束默认值对象 默认值约束及默认值对象 可以为字段定义默认值 方便用户的使用 通过两种方式实现 1 在创建表或修改表时 定义默认值约束 2 先定义默认值对象 然后将该对象绑定到表的相应字段 默认值约束 1 默认值约束的定义及删除 1 定义方法一 通过企业管理器实现方法二 SQL语句实现创建表时定义一个字段的默认值约束CREATETABLEtable name 指定表名 column namedatatypeNOTNULL NULL DEFAULTconstraint expression 默认值约束 n 说明 constraint expression表达式为默认值约束表达式 此表达式只能是常量 系统函数或NULL 对于timestamp或带IDENTITY属性的字段不能定义默认值约束 参考 例 在创建表时定义一个字段的默认值约束 在定义默认值约束的同时指定约束名 USEXSCREATETABLEXSDA1 学号char 6 NOTNULL 姓名char 6 NOTNULL 专业名char 10 NULL 性别bitNOTNULLCONSTRAINTsexdfltDEFAULT1 GO参考资料 默认值约束 方法三 SQL语句实现修改表时定义一个字段的默认值约束 例 在修改表时定义一个新字段政治面貌并为其添加默认值约束团员 USEXSALTERTABLEXSDA1ADD政治面貌char 4 NOTNULLCONSTRAINTzzmmdflt3DEFAULT 团员 WITHVALUESGO说明 如果添加的新列允许空值 若使用了WITHVALUES 则将为表中各现有行添加的新字段提供默认值 如果没有使用WITHVALUES 那么每一行的新列中都将为NULL值 如果添加的新列不允许空值 则不论是否有WITHVALUES选项 那么表中各现有行添加的新字段都将取上述默认值 参考 默认值约束 例5 12 在修改表时为学分字段添加默认值约束值为6 USEXSALTERTABLEKCXXADDCONSTRAINTXF DEFADEFAULT 6 FOR学分GO 2 默认值约束的删除 例5 12 删除上例定义的默认值约束 USEXSALTERTABLEXSDADROPCONSTRAINTXF DEFAGO 资料相关 默认值对象 2 默认值对象的定义 使用及删除 1 使用企业管理器定义和绑定DEFAULT默认值对象 使用企业管理器定义DEFAULT默认值对象以XS数据库为例 对于XSDA表中的民族字段 定义其默认值为 汉 使用企业管理器绑定DEFAULT默认值对象默认值对象定义以后 要让它生效 必须绑定到列或用户定义数据类型 方法1 右键单击默认值对象 属性 绑定UDT 表示绑定到用户定义数据类型 绑定列 表示绑定到列 方法2 表设计器 下拉列表 默认值对象 2 使用T SQL语句定义和绑定DEFAULT默认值对象 使用T SQL语句定义DEFAULT默认值对象CREATEDEFAULTdefault nameASconstant expression说明 默认值对象名必须符合标识符规则 约束表达式constant expression只能是常量表达式 默认值对象必须与列数据类型兼容 默认值对象 使用系统存储过程绑定默认值对象sp bindefault defname default objname object name 说明 default指定默认值对象名 object name指定准备绑定默认值对象的表的列名 格式为 表名 字段名 或用户定义的数据类型名 不能将默认值对象绑定到timestamp数据类型的列 带IDENTITY属性的列或者已经有DEFAULT约束的列 例 对于前面所述的XSDA表中的民族字段可用如下程序实现默认值设置为 汉 USEXSGOCREATEDEFAULTmz defaultAS 汉 GOEXECsp bindefault mz default1 XSDA 民族 GO 例 在XS数据库中创建名为rxdate的默认值对象 取值为当前系统日期 然后将其绑定到XSXX表 例5 1中创建 的入学日期列 USEXSGOCREATEDEFAULTrxdateASgetdate GOEXECsp bindefault rxdate XSXX 入学日期 GO 例 对于前面所述的XSDA表中的民族字段可用如下程序实现默认值设置为 汉 USEXSGOCREATEDEFAULTmz defaultAS 汉 GOEXECsp bindefault mz default1 XSDA 民族 GO 例 在XS数据库中创建名为rxdate的默认值对象 取值为当前系统日期 然后将其绑定到XSXX表 例5 1中创建 的入学日期列 USEXSGOCREATEDEFAULTrxdateASgetdate GOEXECsp bindefault rxdate XSXX 入学日期 GO 默认值对象 3 默认值对象的删除应解除默认值对象的绑定关系 然后才能删除该默认值对象 使用sp unbindefault解除绑定关系sp unbindefault objname object name 说明 参数object name为要解除默认值对象绑定关系的字段名 格式为 表名 字段名 或用户定义类型名 删除默认值对象DROPDEFAULT default n 说明 参数default为现有默认值对象名 参数n表示可以指定多个默认值对象同时删除 例 解除默认值对象xb default与用户定义数据类型sex的绑定关系 然后删除名为xb default的默认值对象 USEXSIFEXISTS SELECTnameFROMsysobjectsWHEREname xb default ANDtype D BEGINEXECsp unbindefault sex DROPDEFAULTxb defaultEN

温馨提示

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

评论

0/150

提交评论