設定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表內容。
delete from dept a inner join on emp b on a.deptno=b.deptno where a.city='shanghai' 你試試吧!希望有用!
刪除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的執行順序樓主自己調一下。
[admin via ] oracle 刪除關聯表數據已經有549次圍觀