PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Błąd w dynamicznej instrukcji PL/PGSQL (funkcje i operatory mogą przyjmować co najwyżej jeden zestaw argumentów)

To dlatego, że rozpakuj &Twój unnest_table oba zwracają SETOF , a operatory 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.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. postgresql - uruchom na mac - `pg_ctl` nie działa

  2. psycopg2 nie może znaleźć żadnych tabel po połączeniu

  3. aktualizowanie istniejących rekordów o unikalną liczbę całkowitą

  4. Utwórz bazę danych Postgres za pomocą Pythona

  5. Nie można usunąć bazy danych