Преобразование запроса на слияние Oracle в запрос MySQL MySQL - PullRequest
2 голосов
/ 26 декабря 2008
    MERGE INTO PAGEEDITCONTROL A
      USING (SELECT
              '1585' AS PAGEID
       ,'admin' AS EDITUSER
       ,sysdate AS EDITDATE
          FROM DUAL) B
      ON (A.PAGEID = B.PAGEID)
      WHEN MATCHED THEN
      UPDATE SET
      A.EDITUSER = B.EDITUSER
     ,A.EDITDATE = B.EDITDATE
      WHEN NOT MATCHED THEN
   INSERT  (
      A.PAGEID
     ,A.EDITUSER
     ,A.EDITDATE
      )VALUES(
      B.PAGEID
     ,B.EDITUSER
     ,B.EDITDATE
      )

Ответы [ 2 ]

1 голос
/ 08 апреля 2013
INSERT INTO  
pageeditcontrol (pageid, edituser, editdate) 
VALUES  ('1585', 'admin', sysdate()) 
ON DUPLICATE KEY UPDATE 
edituser = values(edituser), 
editdate = values(editdate);
1 голос
/ 27 декабря 2008

MySQL имеет аналогичную конструкцию, которая меньше похожа на упадок, но больше похожа на insate: INSERT ... ON DUPLICATE KEY UPDATE (см. Справочное руководство MySQL ).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...