From: | "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com> |
---|---|
To: | Michael Moore <michaeljmoore(at)gmail(dot)com> |
Cc: | postgres list <pgsql-sql(at)postgresql(dot)org> |
Subject: | Re: Updating jsonb rows |
Date: | 2017-08-12 01:18:32 |
Message-ID: | CAKFQuwa5TfW1S9KY8hSRiLDqEPfOuuyh+4Q684iAm8w39CA4ZA@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
On Fri, Aug 11, 2017 at 6:08 PM, Michael Moore <michaeljmoore(at)gmail(dot)com>
wrote:
> s
> elect jsonb_set(j_final_rslt, '{0,prompt_seq}','99',true) into
> j_final_rslt;
>
> gives the result:
> BEFORE [{"prompt_seq": *150*, "attribute_name": "InsuredTimeframe"},
> {"prompt_seq": 1200, "attribute_name": "DriverOccupation"}]
>
> AFTER [{"prompt_seq": *99*, "attribute_name": "InsuredTimeframe"},
> {"prompt_seq": 1200, "attribute_name": "DriverOccupation"}]
>
> How could I change this to ALSO change the attribute_name on the 2nd
> record to "ABC". The AFTER result would ideally look like:
>
>
This SO post seems like it should get you close. Basically you pull out
the 0th element, concatenate in the values you want to change, and supply
that result as the third jsonb_set argument.
https://stackoverflow.com/questions/38883233/postgres-jsonb-set-multiple-keys-update
David J.
From | Date | Subject | |
---|---|---|---|
Next Message | Michael Moore | 2017-08-12 02:41:44 | Re: Always getting back a row, even with no results |
Previous Message | Michael Moore | 2017-08-12 01:08:39 | Updating jsonb rows |