查询语句:select count(*) from exc_check a left join exc_check_manager b on a.pddh = b.pddh where b.pdrq < add_months(sysdate,-12);改成delete from,报错,oracle不支持left join删除吗

解决方案 »

  1.   

    直接用
    DELETE FROM table WHRER (你的条件)
      

  2.   

    1.首先,DELETE语句不支持LEFT JOIN,
    但支持DELETE语句中的子查询中,LEFT JOIN,例:
    delete from test_yixl 
    where id in (select a.id from test_yixl a, test_yixl1 b
    where a.id(+) = b.id )2.其次,DELETE语句中的LEFT JOIN是没有意义的。
    使用LEFT JOIN的目的,就是想查出表b中有表a中没有的数据,所以DELETE的时候,用直连方式即可,
    不需要加LEFT JOIN