MySQL为员工表设置参照完整性约束,将update和delete操作都设置为cascade选项

格式:PPT ? 页数:106 ? 上传日期: 20:19:33 ? 瀏览次数:34 ? ? 750积分 ? ? 用稻壳阅读器打开

全文阅读已结束如果下载本文需要使用

该用户还上传了这些文档

}

(2)利用SQL语句建立CPXSB与XSS表之间的参照关系当对主表XSS表进行更新和删除操作时,

从表CPXSB采用CASCADE(级联)方式写出其过程。

(1)在CP表的价格列上定义大于等于0的检查(CHECK)约束

創建一个“学生档案”数据库,并用CREATE TABLE在该数据库中创建“人事”表和“成绩”两个表

其中“人事”表包括学号、姓名、性别、电话号码、家庭住址字段组成。“成绩”表包括学号、选修课程名称、成绩三个字段

分别在“人事”表的学号字段设置主键约束,在“成绩”表嘚学号字段设置外键约束在成绩字段设置大于等于0小于等于100的检查约束,

在家庭住址字段设置惟一约束在性别字段设置默认值为“男”。 create database 学生档案 on (

对于CPXS数据库创建如下存储过程: 1、无参存储过程

编写一无参存储过程用于查询每个客户购买产品的情况(包括客户编号、產品编号、客户名称、产品名称、价格、购买日期、购买数量),然后调用该存储过程 create procedure gmqk as

select XSS.客户编号,客户名称,CP.产品编号,产品名称,价格,销售日期 as '购买日期',数量 as'购买数量'

2、带有参数的存储过程

编写一加密存储过程,查询指定客户购买产品的情况并调用该存储过程查询客户编号为“000002”的客户购买情况。

}
MySQL通过外键约束实现数据库的参照唍整性外键约束条件可在创建外键时指定,table的存储引擎只能是InnoDB因为只有这种存储模式才支持外键。
外键约束条件有以下4种:
 - - 限制指嘚是如果子表引用父表的某个字段的值,那么不允许直接删除父表的该值
 -- 级联,删除/更新父表的某条记录子表中引用该值的记录会自動被删除/更新。
 --无参照完整性关系有了也不生效。
(4)set null方式:在父表上update/delete记录时将子表上匹配记录的列设为null 要注意子表的外键列不能为not null 
艏先创建一个用户表,并插入两条记录:
 
 
 
 
2.置空模式(set null主表记录被删除,从表中对应的值设置为NULL)
 
3.禁止模式(no action/restrict)如果在子表中有引用,則不允许在主表中进行更新或删除
删除从表没有限制如下:
如果存在引用的从表,则主要不能随意删除:
 


}

我要回帖

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信