Det er fordi unnest &din unnest_table begge returnerer SETOF operatører kan højst tage ét sæt argument , så f.eks.:
SELECT unnest(ARRAY['a', 'b', 'c']);
-- will return
unnest
------
"a"
"b"
"c"
SELECT unnest(ARRAY['a', 'b', 'c']) || 'd';
-- will return
?column?
--------
"ad"
"bd"
"cd"
SELECT unnest(ARRAY['a', 'b', 'c']) || 'd' || unnest(ARRAY['a', 'b', 'c']);
-- will return
ERROR: functions and operators can take at most one set argument
SQL state: 0A000
Rediger :men jeg tvivler stærkt på, at du vil oprette så meget tabel med samme navn - også EXECUTE accepterer ikke mere end én række:
ERROR: query "..." returned more than one row
SQL state: 21000
Jeg synes, du skal bruge noget som array_to_string()
funktion.