oracle 删除关联表数据

发布网友 发布时间:2022-04-22 05:36

我来回答

2个回答

热心网友 时间:2022-05-06 12:41

删除dept表中的数据:
delete
from
dept
t
where
t.city
=
'shanghai'
删除与之关联的emp表中的数据:
delete
from
emp
e
where
e.deptno
in
(
select
t.deptno
from
dept
t
where
t.city
=
'shanghai'
)
删主键值之前,必须先删掉它的外键,这两条SQL的执行顺序楼主自己调一下。

热心网友 时间:2022-05-06 13:59

设定dept表deptno列为主键。
alter
table
dept
add
constraint
pk_deptno
primary
key
(deptno);
在emp表deptno列上建立外键引用dept表deptno,指定外键类型为级联删除。
alter
table
emp
add
constraint
fk_deptno
foreign
key
(deptno)
references
dept(deptno)
on
delete
cascade;
这样删除dept表
只需:delete
from
dept
where
city='shanghai';
就可以自动删除对应emp表内容。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com