深圳office培训 深圳excel培训
深圳excel培训 深圳office培训
咨询服务
深圳office培训
深圳office培训
office培训
excel培训
ppt培训
vba培训
access培训
word培训
visio培训
project培训
outlook培训
数据库培训
深圳access培训
深圳sql培训
深圳office培训
 

使用SQL查询创建限制


2016年8月26日 作者: 来源:

限制建立了当插入值时字段或字段组合必须满足的逻辑条件。例如,UNIQUE 限制禁止受限制的字段接受与该字段的现有值相同的值。

关系是一种限制,它引用另一个表中的字段或字段组合的值,以确定某个值是否可以插入受限制的字段或字段组合中。您不需要使用特殊的关键字来表明限制是一种关系。

要创建限制,请在“create table”或“alter table ”命令中使用 constraint  子句。有两种 constraint 子句:一种用于对单个字段创建限制,另一种用于对多个字段创建限制。

单个字段限制
单个字段 constraint 子句紧跟在它所限制的字段定义之后,其语法如下:

constraint  constraint_name {primary key  | unique |
 not null | references  foreign_table [(foreign_field)]
 [on update  {cascade | set null}]
 [on delete  {cascade  | set null}]}

假设您有一个名称为 Cars 的表,其中的字段用于存储您打算购买的二手车的名称、年份、价格和状况。另外假设您经常忘记输入汽车状况的值,并且始终需要记录此信息。您可以使用以下过程对 Condition 字段创建一个限制,以防止您将该字段保持为空:

在“创建”选项卡上的“宏与代码”组中,单击“查询设计”。
关闭“显示表”对话框。
在“设计”选项卡上的“查询类型”组中,单击“数据定义”。
将隐藏设计网格并显示 SQL 视图对象选项卡。


键入以下 SQL 语句:
alter table Cars alert column Condition text constraint  ConditionRequired  not null

在“设计”选项卡上的“结果”组中,单击“运行”。
现在假设稍后您注意到 Condition 字段中存在许多相似的值,而这些值应该是相同的。例如,一些汽车的 Condition 值为 poor,其他汽车的值为 bad。

注释:如果想要接着执行剩余的过程,请向您在上述步骤中创建的 Cars 表中添加一些伪造数据。

当清除这些值以便它们更加一致后,您可以创建一个名为 CarCondition 的表,其中有一个名为 Condition 的字段,该字段包含您要对汽车状况使用的所有值:

在“创建”选项卡上的“宏与代码”组中,单击“查询设计”。
关闭“显示表”对话框。
在“设计”选项卡上的“查询类型”组中,单击“数据定义”。
将隐藏设计网格并显示 SQL 视图对象选项卡。

键入以下 sql 语句:

--create_table_carcondition (condition text(10))

在“设计”选项卡上的“结果”组中,单击“运行”。

使用 alter table语句为该表创建一个主键:

--alter table  carcondition alter column condition text constraint  carconditionpk primary key

要将 Cars 表的 Condition 字段中的值插入到新的 CarCondition 表中,请在 SQL 视图对象选项卡中键入以下 SQL 语句:

注释:此步骤中的 SQL 语句是一个追加查询 (追加查询:一种动作查询,它将查询结果集内的记录添加到现有表的尾部。)。与数据定义查询不同,追加查询以分号结尾。

insert_into _CarCondition_select_distinct_Condition from Cars;

在“设计”选项卡上的“结果”组中,单击“运行”。


阅读:1681 上一则:SQL查询中的select语句 下一则:使用SQL查询创建索引

返回前页 返回顶部
温馨提示:本中心是深圳较为专业office培训机构、咨询及报名请先预约,电话:0755-82124110。
深圳地址:深圳红荔路四川大厦1109B-1110(3号龙岗线通新岭地铁站A出口10米)
热线:0755-82124110(福田、南山、宝安) 0755-22205758(罗湖、龙岗、龙华) 13510024571(东莞、惠州、珠海、广州)
北京地址:北京清华大学华业大厦三区三楼 版权所有:深圳万博计算机教育 粤ICP备11006947号-1
 
深圳信息系统项目管理师培训
深圳信息系统项目管理师培训 欢迎咨询!
您好!请点击这里咨询万博教育
深圳万博吴老师
您好!请点击这里咨询万博教育
深圳万博史老师
 
深圳信息系统项目管理师培训
深圳信息系统项目管理师培训