Oracle
 sql >> Database >  >> RDS >> Oracle

Eliminazione dinamica in Oracle

  delete departments

  where  department_id in
         (
            select department_id

            from  (    select  department_id, department_name, manager_id,location_id 
                       from    departments

                       minus

                       (          select 66,'Administration',200,1700 from dual
                       union all  select 77,'Marketing'     ,201,1800 from dual
                       )
                   )
         )

o

  delete departments

  where  (department_id, department_name, manager_id,location_id) not in
         (          select 66,'Administration',200,1700 from dual
         union all  select 77,'Marketing'     ,201,1800 from dual
         )

Ma assicurati di non avere select null,null,null,null from dual tra i tuoi record UNION TUTTI o nulla verrà cancellato