sql >> Base de Datos >  >> RDS >> PostgreSQL

postgres jsonb_set actualización de claves múltiples

La documentación dice :

Entonces, usando sus datos de ejemplo:

update table_name set
    data = data || '{"city": "ottawa", "phone": "phonenum", "prefix": "prefixedName"}'
    where number = 1;

Además, si el objeto que desea editar no está en el nivel superior, simplemente combine la concatenación y jsonb_set función. Por ejemplo, si los datos originales parecen

{"location": {"name": "firstName", "city": "toronto", "province": "ON"}}

entonces

...
data = jsonb_set(
    data, 
    '{location}', data->'location' || '{"city": "ottawa", "phone": "phonenum", "prefix": "prefixedName"}')
...