Това е така, защото unnest
&вашата unnest_table
и двете връщат SETOF
, и операторите могат да приемат най-много един зададен аргумент
, така напр.:
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
Редактиране :но силно се съмнявам, че искате да създадете толкова много таблица със същото име - също EXECUTE
не приема повече от един ред:
ERROR: query "..." returned more than one row
SQL state: 21000
Мисля, че трябва да използвате нещо като array_to_string()код>
функция.