sql >> Database >  >> RDS >> PostgreSQL

Fout in dynamische instructie PL/PGSQL (functies en operators kunnen maximaal één set-argument hebben)

Dat komt omdat unnest &je unnest_table beide retourneert SETOF <sometype> , en operators can take at most one set argument , dus bijv.:

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

Bewerken :maar ik betwijfel ten zeerste of je zoveel tabellen met dezelfde naam wilt maken - ook EXECUTE accepteert niet meer dan één rij:

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

Ik denk dat je zoiets moet gebruiken als de array_to_string() functie.




  1. Waarom is executemany traag in Python MySQLdb?

  2. Hoe importeer ik bestaande *.sql-bestanden in PostgreSQL 8.4?

  3. Loop over een insert-query in PHP

  4. SUM() gebruiken zonder de resultaten te groeperen