PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Грешка в динамичен израз PL/PGSQL (функциите и операторите могат да приемат най-много един зададен аргумент)

Това е така, защото 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() функция.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. цел на сортиране в Postgres

  2. PostgreSQL - как да определите дали транзакцията е активна?

  3. Как контейнерът OpenShift може да научи ID на изображението си?

  4. Импортирайте .sql файл в pgadmin iii

  5. Външният ключ на postgres включва ли индекс?