oracle根据主键删除多条数据的语句

如题所述

例如我的表A中唯一约束(或者主键)为B,我要删除B的值为c,d,e的行那么可以执行:
delete from a where b in ('c','d','e');
拥有唯一性约束的表的确是比较容易进行判断和删除的。当然了我还可以使用外部条件如,
delete from a where b in (select c from d where e ='xx');
这就是删除了a表中的行,判断条件是b的值从d表的c列中取;c列的判断条件是,d表中e列的值为xx。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-07-29
你说的是级联删除吧。
例子:
create table a(id int primary key, name varchar2(20));
create table b(id int references a(id) on delete cascade, age number(2,0));

插入数据后,当a中有记录删除时,b中相关联的数据就自动删除了
第2个回答  2011-07-30
delete from 表名 where 主键 IN (要删除记录的主键键值)