I am trying to EXECUTE .. INTO a variable that I want to be dynamically named.
stuff := '{a,b,c,d}';
FOR i IN 1..4 LOOP thing := stuff[i];
-- stuff_a, stuff_b etc are functions - substitution works here exec_string := 'SELECT stuff_' || thing || '(''' || arg1 || ''',''' || arg2 || ''');';
-- thing not substituted -- value of thing above is replaced on each iteration rather than assigning result into variables a,b,c,d EXECUTE exec_string INTO thing;
END LOOP;
The variable names always seems to be interpreted literally though. Is there a way to make this work in PL/PGSQL?
Of course it would be nice if EXECUTE supported 'SELECT INTO' :)