In jsonb-Objekt mit jsonb_set Array setzen

Fragen und Probleme zu PL/pgSQL.
Antworten
joeey
Neuer Benutzer
Beiträge: 2
Registriert: Di 25. Jun 2019, 14:53

In jsonb-Objekt mit jsonb_set Array setzen

Beitrag von joeey » Di 25. Jun 2019, 14:57

Hi

Ich versuche in einer Funktion ein jsonb-Objekt zu füllen und zurückzugeben.

Ich hatte Erfolg z.B. mit

Code: Alles auswählen

DECLARE
  result jsonb;
  names text[];
...

Code: Alles auswählen

result = jsonb_build_object();
result = jsonb_set(result ::jsonb, '{resultCode}','"OK"');
return result ;
aber es scheitert

Code: Alles auswählen

	select
		names
	into
		names
	from
		test
	where
		id = 1
	;

result = jsonb_set(result ::jsonb, '{names}', to_jsonb(names));
Die letzte Zeile scheint falsch. Das SELECT auf die Funktion liefert NULL.

Was mache ich falsch?

joeey
Neuer Benutzer
Beiträge: 2
Registriert: Di 25. Jun 2019, 14:53

Re: In jsonb-Objekt mit jsonb_set Array setzen

Beitrag von joeey » Di 25. Jun 2019, 15:37

Dies funktioniert ebbenfalls
result = jsonb_set(result::jsonb, '{names}', to_jsonb(ARRAY['a', 'b', 'c']));

Antworten