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. 特定の列によるデルタ(現在の行と前の行の差)mysqlグループを計算します

    2. OracleデータベースでEXECUTEIMMEDIATEを使用してCreateTableDDLを実行する方法

    3. SQLですべてのグループの最初の行を選択します

    4. SQLServerの指定された位置にあるリストアイテムを見つける方法