龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 数据库类 > Oracle 技术 >

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

时间:2011-04-12 23:18来源:未知 作者:admin 点击:
分享到:
Oracle级联删除 可以使用触发器来实现,但是实现起来会比较麻烦,最简单的就是直接建立表的主外键关系,给列设置级联删除。 创建了CLASS表,并设置ID字段为主键。 -- Create table crea

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/

精彩图集

赞助商链接