DB2 Увеличить значение на определенную величину - PullRequest
1 голос
/ 28 августа 2009

Мне нужно написать запрос, который увеличивает значение в таблице на 3 при запуске.

Я бы хотел сделать что-то подобное, но это не работает.

UPDATE table SET value = (SELECT value FROM table WHERE condition = true) + 3 ГДЕ условие = true

Как в заголовке, это база данных DB2, есть идеи?

РЕДАКТИРОВАТЬ: На самом деле это работает, также может сделать + 3 в выборе. У меня просто было кое-что в неправильном месте с кастингом, который я должен был сделать Заранее спасибо

1 Ответ

3 голосов
/ 28 августа 2009

Я думаю, что вы ищете просто

UPDATE table SET value = value + 3 WHERE condition = TRUE

Это работает?

Если вы хотите, чтобы все строки, где условие = true, имели (например) 3+ максимальное значение любой строки, для которой условие истинно, используйте это:

UPDATE table SET value = 
(
    SELECT MAX(value) 
    FROM table WHERE condition = true
) + 3 
WHERE condition = true
...