обновление с несколькими внутренними объединениями в db2 - PullRequest
0 голосов
/ 14 сентября 2018

У меня есть следующий запрос

UPDATE mainList
INNER JOIN custToList D
    ON l.custToList_id = d.custToList_id
INNER JOIN dealert dt
    ON d.dealert_id = dt.dealert_id
INNER JOIN markList m
    on m.markList_id = d.markList_id
SET EXPIRATION_TIMESTAMP = CURRENT_TIMESTAMP
where dt.custNum = 2;

Но это говорит мне, что первое «внутреннее» недействительно? Разве вы не можете делать внутренние объединения обновлений в db2?

1 Ответ

0 голосов
/ 14 сентября 2018

Я не думаю, что DB2 поддерживает JOIN в UPDATE. В вашем случае это легко исправить, переместив фильтрацию в предложение WHERE:

UPDATE mainList l
    SET EXPIRATION_TIMESTAMP = CURRENT_TIMESTAMP
WHERE EXISTS (SELECT 1
              FROM custToList D INNER JOIN
                   dealert dt
                   ON d.dealert_id = dt.dealert_id INNER JOIN
                   markList m
                   ON m.markList_id = d.markList_id
              WHERE l.custToList_id = d.custToList_id AND dt.custNum = 2
             );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...