Почему мой запрос на обновление SQL с увеличением / уменьшением не выполняется из Пентахо на Дерби?

1

Я пытаюсь выполнить SQL запрос, используя базу данных Pentaho в Derby? Запрос очень прост. Он обновляет значение столбца для увеличения/уменьшения 1 на нем.

Изображение 174551

Когда я изменил запрос на это: UPDATE APP.PROCLOGS SET FAIL = 22 WHERE ID = ${pid}, он работает нормально.

Итак, почему я не могу выполнить этот запрос, чтобы увеличить/уменьшить значение столбца?

С Уважением,

  • 0
    что говорит вывод журнала ошибок?
Теги:
pentaho
kettle
derby

2 ответа

0
Лучший ответ

используйте знак вопроса, чтобы использовать имя поля в качестве аргумента:

UPDATE APP.PROCLOGS SET FAIL = ? WHERE ID = ${pid}

если вам нужно увеличить значение FAIL +1, сделайте это на предыдущем шаге. ? Заполнитель не может справиться с этой операцией.

3

Проверьте тип данных FAIL. Если это числовой тип, например INT, он должен работать, если вы установите FAIL = FAIL + 1.

Если это не числовой тип, например, если это тип символьной строки, такой как VARCHAR он не будет выполнен.

MY_STRING = MY_STRING + 1  ---doesn't make sense

Однако, если вы установите FAIL = 22 (если FAIL является типом VARCHAR), это будет работать, потому что 22 будет автоматически преобразован (передан) в представление VARCHAR

Ещё вопросы

Сообщество Overcoder
Наверх
Меню