Je to proto, že unnest
a vaše unnest_table
oba vrátí SETOF <sometype>
a operators can take at most one set argument
, takže např.:
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
Upravit :ale silně pochybuji, že chcete vytvořit tolik tabulky se stejným názvem - také EXECUTE
nepřijímá více než jeden řádek:
ERROR: query "..." returned more than one row
SQL state: 21000
Myslím, že byste měli použít něco jako array_to_string()
funkce.