一个利用Oracle表的主外键关系实现级联删除的实例

数据库 Oracle
本文以一个Oracle实现级联删除的实例来介绍如何简单地使用Oracle的级联删除,希望能对读者有所帮助。

Oracle级联删除可以使用触发器来实现,但是实现起来会比较麻烦,最简单的就是直接建立表的主外键关系,给列设置级联删除。

——创建了CLASS表,并设置ID字段为主键。

-- Create table

  1. create table CLASS  
  2.  
  3. (  
  4.  
  5. ID VARCHAR2(2) not null,  
  6.  
  7. CLASS_NAME VARCHAR2(20)  
  8.  
  9. )  
  10.  
  11. alter table CLASS  
  12.  
  13. add constraint PK_CLASS primary key (ID) 

——创建了STUDENTS表,并设置ID字段为主键,CLASS_ID为外键且有级联删除。

-- Create table

  1. create table STUDENTS  
  2.  
  3. (  
  4.  
  5. ID VARCHAR2(4) not null,  
  6.  
  7. CLASS_ID VARCHAR2(2) not null,  
  8.  
  9. STU_NAME VARCHAR2(20),  
  10.  
  11. STU_AGENUMBER  
  12.  
  13. )  
  14.  
  15. alter table STUDENTS  
  16.  
  17. add constraint PK_STU primary key (ID)  
  18.  
  19. alter table STUDENTS  
  20.  
  21. add constraint FK_STU foreign key (CLASS_ID)  
  22.  
  23. references CLASS (ID) on delete cascade; 

这样删除了班级ID,所属的学生都会被删除。这就实现了Oracle的级联删除。

本文就介绍到这里,如果想了解更多关于Oracle数据库的知识,可以看一下这里的文章:http://database.51cto.com/oracle/

【编辑推荐】

  1. Oracle跟踪文件分析工具TKPROF使用简介
  2. Oracle数据库中Rank等函数的比较与选择
  3. 利用Sql Server将Excel中的数据导入Oracle
  4. 共享database独立Schema构建SAAS平台
  5. 环境变量导致ASP.Net无法连接Oracle的一个案例
责任编辑:赵鹏 来源: 博客园
相关推荐

2010-04-23 15:44:29

Oracle 外键

2009-11-02 15:15:43

Oracle授予用户权

2011-03-22 12:59:18

SQLOracle外键约束

2010-09-02 09:45:07

SQL删除

2024-02-01 09:06:44

Company​Employee场景

2010-10-22 17:33:02

2010-11-10 11:47:35

SQL Server级

2011-07-19 09:46:00

Oracle数据库递归查询

2010-11-10 11:51:04

SQL SERVER级

2019-12-11 10:45:08

Python 开发编程语言

2010-09-25 13:16:51

SQL Server外

2011-05-17 15:13:59

oracle分页存储

2017-11-13 13:33:09

MySQL全备份恢复表

2011-08-02 12:46:46

Oracle数据表建立索引

2010-11-10 11:37:29

SQL Server删

2010-11-19 10:26:19

Oracle创建用户

2018-03-14 19:39:31

数据库Oracle临时表

2010-09-03 11:52:41

SQL删除

2009-06-17 10:47:36

Hibernate级联级联删除

2010-04-28 11:56:09

Oracle临时表
点赞
收藏

51CTO技术栈公众号