PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Errore nell'istruzione dinamica PL/PGSQL (funzioni e operatori possono accettare al massimo un argomento impostato)

Questo perché unnest e il tuo unnest_table entrambi restituiscono SETOF <sometype> e operators can take at most one set argument , quindi ad es.:

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

Modifica :ma dubito fortemente che tu voglia creare così tante tabelle con lo stesso nome - anche EXECUTE non accetta più di una riga:

ERROR: query "..." returned more than one row
SQL state: 21000

Penso che dovresti usare qualcosa come array_to_string() funzione.