第6章数据完整性控制.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
在查询编辑器窗口中执行如下Transact-SQL语句。 USE 学生成绩 GO CREATE TABLE New_成绩表 ([序号(ID)] Int NOT NULL PRIMARY KEY IDENTITY(1,1), 学号 Char(8) NOT NULL, 课程编号 Char(4) NOT NULL, 成绩 Decimal(4,1) CHECK(成绩=0 AND 成绩=100 ) GO 3.使用ALTER TABEL语句添加IDENTITY列 语法格式如下。 ALTER TABLE 表名 ADD 列名 数据类型IDENTITY[(seed,increment)] 【例6.19】在学生成绩数据库的New_成绩表中,先删除例6.18中建的标识列“序号(ID)”,再新增一个名为“成绩序号(ID)”的标识列,种子为1,增量为2。 分析:在例6.18建标识列“序号(ID)”的同时定义了主键约束,要删除该列,得先删除该列上的主键,先在【对象资源管理器】中,查看一下该表主键的名称,该名称为系统自动生成。 在查询编辑器窗口中执行如下Transact-SQL语句: USE 学生成绩 GO ALTER TABLE New_成绩表 DROP CONSTRAINT PK__New_成绩表__5B9C8F9E619B8048 GO ALTER TABLE New_成绩表 DROP COLUMN [序号(ID)] GO ALTER TABLE New_成绩表 ADD [成绩序号(ID)] Int IDENTITY(1,2) GO 6.3.2 使用IDENTITY列 【例6.20】在学生成绩数据库的New_系部表中,插入三条记录,并查询插入记录后的New_系部表。 在查询编辑器窗口中执行如下Transact-SQL语句。 USE 学生成绩 GO INSERT INTO New_系部表(系部名称,系部主任) VALUES(信息工程系,张岚) INSERT INTO New_系部表(系部名称,系部主任) VALUES(生物工程系,赵晓红) INSERT INTO New_系部表(系部名称,系部主任) VALUES(工程技术系,王江林) GO SELECT * FROM New_系部表 GO ? 运行结果如图6-14所示。 图6-14 在New_系部表中使用IDENTITY列 【说明】 如果经常进行删除记录操作的表中存在IDENTITY列,那么在标识值之间可能会产生差距。如果这构成了问题,那么请不要使用IDENTITY属性。但是,为了确保不产生差距,或为了弥补现有的差距,在用“SET IDENTITY_INSERT表名 ON”设置显式地输入标识值之前,请先对现有的标识值进行计算。 6.4 默认值和规则 6.4.1 默认值 与默认值约束类似,默认值(default)的作用也是当用户向数据表中插入数据行时,如果没有为某列输入值,则由SQL Server自动为该列赋予默认值。与默认值约束不同的是,默认值是一种数据库对象。 使用默认值对象的方法: 使用CREATE DEFAULT语句创建默认值对象。 使用系统存储过程sp_bindefault将其绑定到列上。 1.创建默认值对象 创建默认值对象的语法格式如下。 CREATE DEFAULT default_name AS constant_expression 其中, default_name为默认值对象名称; constant_expression为只包含常量值的表达式。 2.默认值绑定 系统存储过程sp_bindefault用于将默认值绑定到列或用户定义的数据类型,它的语法格式如下。 sp_bindefault default_name,object_name [,futureonly_flag] 其中,各参数的含义如下。 object_name:为被绑定默认值的列名或用户定义的数据类型。 futureonly_flag:仅当将默认值绑定到用户定义数据类型时才能使用。当此参数设置为futureonly时,该数据类型的现有列无法继承新默认值。如果 futureonly_flag 为 NULL,则新默认值将绑定到用户定义数据类型的所有列。默认值为NULL。 【例6.21】在学生成绩数据库中,创建一个默认值对象“DF_族别”,值为“汉族”,并将其绑定到学生信息表的“族别”列。 在查询编辑器窗口中执行如下Transact-SQL语句。 ?USE 学生成绩 GO --创建默认值对象 CREATE DEFAULT DF_族别 AS 汉族 GO --绑定默认值对象 EXEC sp_bindefault DF_族别,学生信息表.族别 GO 【说明】 ① 默认值约束和默认值对象不能同时在某个列上使用,本例在

文档评论(0)

wendan118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档