Thread: trouble writing plpgsql
Hi, I want to make a function to parsetext and return key-value pairs create or replace function extractinfo (text) returns table (key char[1], val text) language plpgsql as $$ I first tried declare xx record; begin .... xx.key = ....; xx.val = ....; return next xx: This is not possible because xx needs to know its structure before the fields can be assiged to. Could I declare xx as having these fields in the first place, do Ineedto create a type for key, val first? Wolfgang Hamann
On Thu, Dec 22, 2022 at 11:37:22AM -0000, hamann.w@t-online.de wrote: > I want to make a function to parsetext and return key-value pairs > create or replace function extractinfo (text) returns table (key char[1], val text) Please don't use char datatype: https://wiki.postgresql.org/wiki/Don't_Do_This#Don.27t_use_char.28n.29 > language plpgsql as $$ > > I first tried > declare > xx record; > begin > .... > xx.key = ....; xx.val = ....; > return next xx: > This is not possible because xx needs to know its structure before the fields can be assiged to. > Could I declare xx as having these fields in the first place, do Ineedto create a type for key, val > first? select '...' as key, '...' as val into record; depesz