Các biểu thức bên trái phải khá đơn giản trong PLpgSQL. Sự kết hợp giữa kiểu mảng và kiểu kết hợp không được hỗ trợ. Bạn nên đặt một giá trị kiểu kết hợp, rồi giá trị này gán cho mảng.
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;
Có thể có một lối tắt:
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$;