To dlatego, że rozpakuj
&Twój unnest_table
oba zwracają SETOF
mogą przyjmować co najwyżej jeden zestaw argumentów
, czyli np.:
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
Edytuj :ale bardzo wątpię, że chcesz stworzyć tyle tabel o tej samej nazwie - także EXECUTE
nie akceptuje więcej niż jednego wiersza:
ERROR: query "..." returned more than one row
SQL state: 21000
Myślę, że powinieneś użyć czegoś takiego jak array_to_string()
funkcja.