C'est parce que unnest
&votre unnest_table
les deux renvoient SETOF <sometype>
, et operators can take at most one set argument
, donc par exemple :
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
Modifier :mais je doute fortement que vous souhaitiez créer autant de table avec le même nom - également EXECUTE
n'accepte pas plus d'une ligne :
ERROR: query "..." returned more than one row
SQL state: 21000
Je pense que vous devriez utiliser quelque chose comme array_to_string()
fonction.