Мы храним достаточное количество значений / пар в объекте json в столбце снежинки. Количество значений / пар не задано заранее (следовательно, полуструктурированные данные)
Каковы мои варианты обновления одной из пар значений?
Должен ли я извлечь все JSON, преобразовать его в строку, изменить строку и полностью обновить столбец объекта?
Или есть небольшая приятная функция, где я могу обновить только те пары, которые я хочу?
create or replace table TB as
select $1 TB_ID, parse_json($2) my_json
from values
(1, '{ "FruitShape":"Round", "FruitSize":55 } '),
(2, '{ "FruitShape":"Square" } '),
(3, '{ "FruitShape":"Oblong", "FruitSize":22, "FruitColor":"Chartreuse" })
;
Это создало 3 строки с максимум 3 значениями / парами на строку.
Допустим, я хочу изменить свойство в первом ряду с "круглого" на "квадратное"
UPDATE TB
SET my_json = parse_json('{ "FruitShape":"square", "FruitSize":55 }')
WHERE TB_ID = 1;
Это то, что я должен делать?