Мне нужно написать заявление об обновлении для моей таблицы. Таблица содержит технический ключ и идентификатор клиента.
Мне нужно обновить поле в этой таблице, подняв поле на +1, но только для полей, где технический ключ имеет максимальное значение для этогоконкретный идентификатор клиента.
Сначала я попытался написать это так, как я обычно это делаю на MSSQL:
UPDATE a
SET a.VERSION_CHECK = (a.VERSION + 1)
FROM customers a
WHERE a.technical_key = (SELECT MAX(b.technical_key)
FROM customers b
WHERE a.customer_id = b.customer_id
)
С тех пор я пытался работать с предложением WHERE EXISTS всинтаксис SQL, используемого в Oracle, но я не могу понять, как правильно работать с техническим ключом MAX, чтобы в таблице обновлялись только эти строки. Кто-нибудь получил какой-либо вклад, пожалуйста?