Как увеличить значение в выражении postgres update для ключа JSON
При обновлении реляционной таблицы:
CREATE TABLE foo ( id serial primary key, credit numeric);
UPDATE foo SET bar = bar + $1 WHERE id = $2;
Однако эквивалент в JSON не работает:
CREATE TABLE foo ( id serial primary key, data json);
UPDATE foo SET data->'bar' = data->'bar' + $1 WHERE id = $2;
Я получаю ошибкуerror: syntax error at or near "->"
- что довольно неоднозначно.
Как мне это сделать?
Я использую Postgres 9.3.4
В свете комментария @ GordonLinoff ниже, я создал запрос функции:https://postgresql.uservoice.com/forums/21853-general/suggestions/6466818-create-update-delete-on-json-keys
Вы можете проголосовать за него, если хотите эту функцию тоже.