oracle的级联删除

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

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

-- Create table
create table CLASS
(
ID
VARCHAR2(2) not null,
CLASS_NAME
VARCHAR2(20)
)
alter table CLASS
add constraint PK_CLASS primary key (ID)

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

-- Create table
create table STUDENTS
(
ID
VARCHAR2(4) not null,
CLASS_ID
VARCHAR2(2) not null,
STU_NAME
VARCHAR2(20),
STU_AGE
NUMBER
)

alter table STUDENTS
add constraint PK_STU primary key (ID)

alter table STUDENTS
add constraint FK_STU foreign key (CLASS_ID)
references CLASS (ID) on delete cascade;

这样删除了班级ID,所属的学生都会被删除。

posted @ 2011-07-17 22:16  lzone6  阅读(16063)  评论(0)    收藏  举报