oracle关联表更新表多个字段

来源:互联网 发布:网络通信 代码 编辑:程序博客网 时间:2024/05/02 00:13
       update t_bas_sales_department_626 s
          set (s.code,s.leave,s.pickup_self,s.delivery) =(select ofs.code,ofs.leave,ofs.pickup_self,ofs.delivery from
              (select distinct os.code,
                               fs.leave,
                               fs.pickup_self,
                               fs.delivery
                         from t_bas_sales_department_626 os
                        inner join t_bas_sales_department@ows2foss2 fs
                           on os.code = fs.code
                        where os.active = 'Y'
                          and fs.active = 'Y'
                          AND (os.leave != fs.leave or
                              os.pickup_self != fs.pickup_self or
                              os.delivery != fs.delivery)) ofs
        where s.code = ofs.code)
        where  exists (
               select 1 from   (select distinct os.code,
                               fs.leave,
                               fs.pickup_self,
                               fs.delivery
                         from t_bas_sales_department_626 os
                        inner join t_bas_sales_department@ows2foss2 fs
                           on os.code = fs.code
                        where os.active = 'Y'
                          and fs.active = 'Y'
                          AND (os.leave != fs.leave or
                              os.pickup_self != fs.pickup_self or
                              os.delivery != fs.delivery)) ofs
        where s.code = ofs.code
        ) and s.active='Y'
原创粉丝点击