Oracle
 sql >> база данни >  >> RDS >> Oracle

Динамично изтриване в 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
                       )
                   )
         )

или

  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
         )

Но се уверете, че нямате select null,null,null,null from dual сред вашите UNION ALL записи или нищо няма да бъде изтрито



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PreparedStatement групиране с различни SQL изрази

  2. Доставчикът на OraOLEDB в .NET ненадежден ли е в CLOB полета?

  3. Неубиваема сесия на Oracle, чакаща SQL*Net съобщение от клиентско събитие

  4. Oracle тригери - проблем с мутиращи таблици

  5. APEX:Изтеглете BLOB от временна таблица