sql >> Databáze >  >> RDS >> PostgreSQL

dynamický dotaz postgres

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říkazem EXECUTE 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.



  1. Máte přístup k hodnotě automatického přírůstku v MySQL v rámci jednoho příkazu?

  2. MySQL přeskočit prvních 10 výsledků

  3. Jak resetuji sekvenci v Oracle?

  4. Heroku psql:FATAL:zbývající připojovací sloty jsou vyhrazeny pro nereplikační připojení superuživatele