1. 首页
  2. 数据库
  3. Oracle
  4. 级联删除-big.data.analytics.with.spark

级联删除-big.data.analytics.with.spark

上传者: 2024-07-07 03:41:06上传 PDF文件 31.31MB 热度 12次
14.6、级联删除那么再分析:如果假设一个人的人员信息没有了,那么此人所拥有的书还应该存在吗?最好,如果person中的一条数据没了,则对应在book中的数据也应该同时消失。在之前的结构上执行delete语句,删除person表中的一条记录: DELETE FROM person WHERE pid=11;提示不能删除的错误:因为book中存在了此项的关联,如果person表中的一条数据删除了,则肯定会直接影响到book表中数据的完整性,所以不让删除。如果非要删除,则应该先删除book表中的对应数据,之后再删除person表中的对应数据。此时如果想完成删除person表的数据同时自动删除掉book表的数据操作,则必须使用级联删除。在建立外键的时候必须指定级联删除(ON DELETE CASCADE)。 CREATE TABLE book ( bid NUMBER PRIMARY KEY NOT NULL , name VARCHAR(50) , --书应该属于一个人pid NUMBER , --建立约束:book_pid_fk,与person中的pid为主-外键关系CONSTRAINT book_pid_fk FOREIGN KEY(pid) REFERENCES person(pid) ON DELETE CASCADE ) ; DROP TABLE book ; DROP TABLE person ; CREATE TABLE person ( pid NUMBER , name VARCHAR(30) NOT NULL , tel VARCHAR(50) , age NUMBER ) ; CREATE TABLE book ( bid NUMBER , name VARCHAR(50) , pid NUMBER ) ;
用户评论