Hallo,
ich versuche mich mit EXECUTE vertraut zu machen, scheitere jedoch schon an einem simplen Beispiel:
RETURN EXECUTE('SELECT ’ || ‘2’);
ergibt bei mir:
ERROR: function execute(text) does not exist
LINE 1: SELECT EXECUTE('SELECT ’ || ‘2’)
^
HINT: No function matches the given name and argument types. You might need to add explicit type casts.
QUERY: SELECT EXECUTE('SELECT ’ || ‘2’)
CONTEXT: PL/pgSQL function fkt.uc(text,text,json) line 13 at RETURN
********** Fehler **********
Ist EXECUTE keine Standardfunktion oder bezieht sich die Fehlermeldung auf den auszuführenden String?
test=*# create or replace function my_test() returns setof text as $$declare t text; begin t:=E'select \'foo\' || \'bar\''; return query execute t;end;$$language plpgsql;
CREATE FUNCTION
test=*# select * from my_test();
my_test
---------
foobar
(1 row)