De linkeruitdrukkingen moeten vrij eenvoudig in PLpgSQL staan. De combinatie van array en composiettype wordt niet ondersteund. U moet een waarde van het samengestelde type instellen en deze waarde toewijzen aan de array.
CREATE OR REPLACE FUNCTION playx(OUT mod playz[]) AS $$
DECLARE r playz;
BEGIN
FOR i in 1..5 LOOP
r.a = 1;
r.b = 12.2;
r.c = 1;
r.d = 0.02;
mod[i] = r;
END LOOP;
END;
$$ LANGUAGE plpgsql;
Er is een snelkoppeling mogelijk:
CREATE OR REPLACE FUNCTION public.playx(OUT mod playz[])
LANGUAGE plpgsql
AS $function$
BEGIN
FOR i in 1..5 LOOP
mod[i] = ROW(1, 12.2, 1, 0.02);
END LOOP;
END;
$function$;