delete from TBLA a where (a_col, b_col) in (select a_col,b_col from TBLB)
不知道速度会快多少,试一下
不知道速度会快多少,试一下
解决方案 »
- EXP-00008: ORACLE error 6552 encountered
- oracle中all的问题?
- 请教一个关于imp的问题,高手,低手都可以发表一下意见
- 没接触过orcale,简单问题真心求助。急,谢谢了。
- 如何通过自己的oracle存储过程进行按用户模式的数据备份?
- 如何将数据从SQL Server 2000中导入到oracle
- 假如我把临时表空间改成永久表空间会对系统产生怎样的影响?
- 高手请进,VB如何调用oracle的用户定义函数
- tablespace问题请教。
- 关于sql求结果集问题
- 今天下午去面试,问道Oracle与SQL server的主要区别是什么,你认为因该怎么回答?
- Oracle是不是可以实现SQL的所有功能?
in比exists慢
str varchar(100);
begin
str:='delete from TBLA a where (a_col, b_col) in (select a_col,b_col from TBLB)';
execute immediate str;
end;
/
注意:先赋权限 grant delete any table to user_name;
str varchar(100);
begin
str:='delete from TBLA a where exists
(select 'x' from TBLB where a_col=a.a_col and b_col=a.b_col)';
execute immediate str;
end;
A_COL IN (SELECT A_COL,B_COL FROM A
INTERSECT
SELECT A_COL,B_COL FROM B);
当B表存在删A,OVER。