Delete EO_Mst_CS_Code 
from ( 
Select realTable.* 
from EO_Mst_CS_Code realTable 
left join EO_Mst_CS_Code_Temp tempTable
on realTable.L_CS_CODE = tempTable.L_CS_CODE 
and realTable.M_CS_CODE = tempTable.M_CS_CODE 
and realTable.S_CS_CODE = tempTable.S_CS_CODE 
where tempTable.L_CS_CODE is null
) as deleteTable 
where deleteTable.L_CS_CODE = EO_Mst_CS_Code.L_CS_CODE 
and deleteTable.M_CS_CODE = EO_Mst_CS_Code.M_CS_CODE 
and deleteTable.S_CS_CODE = EO_Mst_CS_Code.S_CS_CODE 上面是在SQL SERVER中的语句,请问怎么转成 ORACLE 的语句,谢谢.

解决方案 »

  1.   

    with deleteTable as(
    Select realTable.*
    from EO_Mst_CS_Code realTable
    left join EO_Mst_CS_Code_Temp tempTable
    on realTable.L_CS_CODE = tempTable.L_CS_CODE
    and realTable.M_CS_CODE = tempTable.M_CS_CODE
    and realTable.S_CS_CODE = tempTable.S_CS_CODE
    where tempTable.L_CS_CODE is null
    ) Delete from EO_Mst_CS_Code
    where deleteTable.L_CS_CODE = EO_Mst_CS_Code.L_CS_CODE
    and deleteTable.M_CS_CODE = EO_Mst_CS_Code.M_CS_CODE
    and deleteTable.S_CS_CODE = EO_Mst_CS_Code.S_CS_CODE 
      

  2.   

    delete from EO_Mst_CS_Code where (L_CS_CODE,M_CS_CODE,S_CS_CODE) IN
    (Select EO_Mst_CS_Code.L_CS_CODE,EO_Mst_CS_Code.M_CS_CODE,EO_Mst_CS_Code.S_CS_CODE
    from EO_Mst_CS_Code realTable 
    left join EO_Mst_CS_Code_Temp tempTable 
    on realTable.L_CS_CODE = tempTable.L_CS_CODE 
    and realTable.M_CS_CODE = tempTable.M_CS_CODE 
    and realTable.S_CS_CODE = tempTable.S_CS_CODE 
    where tempTable.L_CS_CODE is null 
    ) as deleteTable,EO_Mst_CS_Code
    where deleteTable.L_CS_CODE = EO_Mst_CS_Code.L_CS_CODE 
    and deleteTable.M_CS_CODE = EO_Mst_CS_Code.M_CS_CODE 
    and deleteTable.S_CS_CODE = EO_Mst_CS_Code.S_CS_CODE)
      

  3.   

    trywith deleteTable as(
    Select realTable.*
    from EO_Mst_CS_Code realTable
    left join EO_Mst_CS_Code_Temp tempTable
    on realTable.L_CS_CODE = tempTable.L_CS_CODE
    and realTable.M_CS_CODE = tempTable.M_CS_CODE
    and realTable.S_CS_CODE = tempTable.S_CS_CODE
    where tempTable.L_CS_CODE is null
    ) Delete from EO_Mst_CS_Code
    where exists (select 1 from deleteTable where deleteTable.L_CS_CODE = EO_Mst_CS_Code.L_CS_CODE
    and deleteTable.M_CS_CODE = EO_Mst_CS_Code.M_CS_CODE
    and deleteTable.S_CS_CODE = EO_Mst_CS_Code.S_CS_CODE)
      

  4.   

    以上几位提供的SQL都无法正确编译,请再赐教...