Eso es porque unnest
y tu unnest_table
ambos devuelven SETOF <sometype>
, y operators can take at most one set argument
, por ejemplo:
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
Editar :pero dudo mucho que quieras crear tanta tabla con el mismo nombre - también EXECUTE
no acepta más de una fila:
ERROR: query "..." returned more than one row
SQL state: 21000
Creo que deberías usar algo como array_to_string()
función.