Das liegt daran, dass unnest
&Ihre unnest_table
beide geben SETOF
zurück , und Operatoren können höchstens ein Set-Argument annehmen
, also zB:
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
Bearbeiten :aber ich bezweifle sehr, dass Sie so viele Tabellen mit demselben Namen erstellen möchten - auch EXECUTE
akzeptiert nicht mehr als eine Zeile:
ERROR: query "..." returned more than one row
SQL state: 21000
Ich denke, Sie sollten so etwas wie den array_to_string()
Funktion.