+ -
当前位置:首页 → 问答吧 → 求高效删除两个表中指定字段值相等的记录的方法!!!

求高效删除两个表中指定字段值相等的记录的方法!!!

时间:2011-09-13

来源:互联网

如题,现有两个表:
create table test1(CardID number, Name NVARCHAR2(20), Sex NUMBER);
create table test2(CardID number, Name NVARCHAR2(20));

test1表中有大量数据,可能上千万条,而test2表中当前有数十万条记录。

请问各位高手,如何高效地删除test1和test2中CardID及Name相同的记录?

使用join连接可以吗,我用以下SQL语句老是报错:
SQL> delete from test1 join test2 on test1.CardID = test2.CardID and test1.Name = test2.Name;
delete from test1 join test2 on test1.CardID = test2.CardID and test1.Name = test2.Name
*
第 1 行出现错误:
ORA-00933: SQL 命令未正确结束
难道join连接不支持删除?

小弟最近刚刚接触Oracle,项目比较急,请高手帮忙哈,谢谢!

作者: FoxBryant   发布时间: 2011-09-13

SQL code


DELETE TEST1,TEST2 FROM TEST1 LEFT JOIN TEST2 ON TEST1.CARDID = TEST2.CARDID AND TEST1.NAME = TEST2.NAME



作者: hao1hao2hao3   发布时间: 2011-09-13