sql >> Databasteknik >  >> RDS >> PostgreSQL

Fel i dynamisk sats PL/PGSQL (funktioner och operatorer kan ta högst ett set argument)

Det beror på att unnest &din unnest_table båda returnerar SETOF , och operatorer kan ta högst ett set argument , så t.ex.:

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

Redigera :men jag tvivlar starkt på att du vill skapa så mycket tabell med samma namn - även EXECUTE accepterar inte mer än en rad:

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

Jag tycker att du ska använda något liknande array_to_string() funktion.




  1. Hur får man fråga om kolumnattribut från tabellnamn med PostgreSQL?

  2. läser utf-8-innehåll från mysql-tabellen

  3. MySql:Infoga en rad och hämta innehållet

  4. Konvertera Välj Oracle-fråga till uppdatering för ett specifikt scenario