日期:2014-05-17 浏览次数:20787 次
select * from yw_ryjbxx ry where exists (select 1 from temp_grbh where ry.grbh = temp_grbh.grbh)
select ry.* from yw_ryjbxx ry where exists(select 1 from temp_grbh where name = ry.name )
------解决方案--------------------
1、ON COMMIT DELETE ROWS (TRANSACTION级的临时表),临时表是事务指定,每次提交后ORACLE将截断表。
2、ON COMMIT PRESERVE ROWS(SESSION级的临时表),临时表是会话指定,当中断会话时ORACLE将截断表。
建议把你的事务级临时表建表语句贴出来看看,估计就是这的问题~你试下吧
------解决方案--------------------
楼主:
你的子查询后面的条件如果不成立,那么子查询永远不会返回结果集(即使你"select 1 from ……”),所以exists 永远不成立,所以最后什么也查不到。
比如:select * from emp WHERE EXISTS (SELECT 1 FROM dept WHERE 1=2);结果什么查不到