oracle sql 执行顺序优先级

在oracle 中 有人说是从where 后面执行 如果遇到 left join 是怎么执行的
DELETE FROM GLPT_CSYH_CLYC_SH WHERE NY=v_ny;
COMMIT;
INSERT INTO GLPT_CSYH_CLYC_SH
SELECT t_sh.* FROM GLPT_CSYH_CLYC_SH_back t_sh
INNER JOIN (SELECT jh,MAX(tqrq) tqrq FROM GLPT_CSYH_CLYC_SH_back WHERE ny=v_ny GROUP BY jh) t_max ON t_max.jh=t_sh.jh AND t_max.tqrq=t_sh.tqrq
WHERE t_sh.ny=v_ny;
COMMIT;
在我的存储过程中是这样写的,先delete后insert ,但是在执行过程中会出现先执行insert后执行delete的情况!请高手帮忙,如何在存储过程中控制执行顺序?

select 语句执行顺序:

    from(包括join 和left join 以及right join )

    where

    group by

    having

    select

    order by

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-07-31
不可能出现先执行后续语句的情况.
你要检查下其他语句跳过这块而执行其他的情况本回答被网友采纳
相似回答