Ada EXECUTE
pernyataan plpgsql , yang akan melakukan apa yang Anda coba lakukan - jalankan string kueri SQL. Anda menandai dinamis, jadi ini mungkin yang Anda cari.
Hanya berfungsi di dalam fungsi plpgsql atau DO
pernyataan (blok kode anonim). Perbedaan antara EXECUTE
dan SQL-EXECUTE
dijelaskan dalam manual yang bagus:
Catatan: PL/pgSQL
EXECUTE
pernyataan tidak terkait denganEXECUTE
Pernyataan SQL didukung oleh server PostgreSQL.EXECUTE
server server pernyataan tidak dapat digunakan secara langsung dalam fungsi PL/pgSQL (dan tidak diperlukan).
Jika Anda ingin mengembalikan nilai dari SELECT
dinamis kueri seperti yang ditunjukkan oleh contoh Anda, Anda perlu membuat fungsi. DO
pernyataan selalu mengembalikan void
. Selengkapnya tentang mengembalikan nilai dari suatu fungsi di manual yang sangat bagus.