Is it possible, in PL/pgSQL, to pass an argument to a function which is actually a "query skeleton" that the method will "fill in the blanks" and execute it or return it to the caller after ?
The caller does not have access to the variables/values that will be used to fill the blanks, but it does know the generic query.
I have a situation where this kind of separation would be nice to have in order to make the code a bit cleaner and avoid some code repetitions.
It is not problem
create or replace function exec_query(q text) returns void as $$ declare r int; begin raise notice 'q=%', q; execute q using 10 into r; raise notice 'r=%', r; end; $$ language plpgsql;