Je zde EXECUTE
výpis plpgsql , což by udělalo to, o co se pokoušíte - spustit řetězec dotazu SQL. Označili jste dynamické, takže toto může být to, co hledáte.
Funguje pouze uvnitř funkcí plpgsql nebo DO
výpisy (bloky anonymního kódu). Rozdíl mezi EXECUTE
a SQL-EXECUTE
jasně uvedeno v podrobné příručce:
Poznámka: PL/pgSQL
EXECUTE
příkaz nesouvisí s příkazemEXECUTE
Příkaz SQL podporovaný serverem PostgreSQL.EXECUTE
serveru příkaz nelze použít přímo ve funkcích PL/pgSQL (a není potřeba).
Pokud chcete vrátit hodnoty z dynamického SELECT
dotaz, jak naznačuje váš příklad, musíte vytvořit funkci. DO
příkazy vždy vracejí void
. Více o vracení hodnot z funkce ve velmi jemném manuálu.