Как написать этот запрос на обновление от Mysql до Oracle? - PullRequest
0 голосов
/ 03 марта 2020

Я пытаюсь преобразовать этот код из MYSQL в Oracle. Может кто-нибудь мне помочь ? Спасибо!

 update IC_MST_CodeDateData
        left join IC_MST_Velocity
        on IC_MST_CodeDateData.whse = IC_MST_Velocity.whse and IC_MST_CodeDateData.article = IC_MST_Velocity.article
        set IC_MST_CodeDateData.velocity = IC_MST_Velocity.velocity;

1 Ответ

0 голосов
/ 03 марта 2020

Это будет примерно так:

update ic_mst_codedatedata c set
  c.velocity = (select v.velocity
                from ic_mst_velocity v
                where v.whse = c.whse
                  and v.article = c.article
               )
where exists (select null
              from velocity v1
              where v1.whse = c.whse
                and v1.article = c.article
             );

Или, используя merge:

merge into ic_mst_codedatedata c
  using (select v.velocity, v.whse, v.article
         from ic_mst_velocity v
        ) x
on (x.whse = c.whse and 
    x.article = c.article
   )
when matched then update set
  c.velocity = x.velocity;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...