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的执行顺序楼主自己调一下。
修改你的外键设置,达到级联删除的目的,具体实现如下:a)先查询出EMP表和POS表中 外键的名称(如果你知道 外键名这一步可以省略)
select CONSTRAINT_NAME,TABLE_NAME from user_constraints where CONSTRAINT_TYPE ='R' and TABLE_NAME in('EMP','POS')
b)删除EMP表和POS表上的外键后 重新建立允许级联删除的外键模式
alter table EMP drop constraint 外键名
alter table POS drop constraint 外键名
alter table EMP add constraint 外键名 foreign key(DEPT_NO) references DEPT(DEPT_NO) on delete cascade
alter table POS add constraint 外键名 foreign key(DEPT_NO) references DEPT(DEPT_NO) on delete cascade
这样删除关联删除是自动的
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)