2009-08-28 3 views
1

Мне нужно написать запрос, который при запуске увеличивает значение в таблице на 3.DB2 Приращение значения на определенную сумму

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

UPDATE table SET value = (SELECT value FROM table WHERE condition = true) + 3 WHERE условие = истина

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

EDIT: На самом деле это действительно работает, может также сделать + 3 в выборе. Я только что некоторые вещи в неправильном месте с литьем я должен был сделать Спасибо заранее

ответ

3

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

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

ли это работает?

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

UPDATE table SET value = 
(
    SELECT MAX(value) 
    FROM table WHERE condition = true 
) + 3 
WHERE condition = true 
Смежные вопросы