Musisz użyć tego samego podejścia do dynamicznego SQL, które sugerowano w Twoim innym pytaniu
PROCEDURE get_stat (gender IN VARCHAR2)
AS
v_sql varchar2(1000);
v_param varchar2(100) := 'AVG_WEIGHT';
v_stat number;
BEGIN
v_sql := 'SELECT ' || gender || ' FROM survey WHERE parameter = :1';
EXECUTE IMMEDIATE v_sql
INTO v_stat
USING v_param;
END get_stat;
Ale mielibyście te same ogólne zastrzeżenia, które pojawiły się we wcześniejszym pytaniu – model danych jest fundamentalnie wadliwy. Znacznie lepiej byłoby Ci mieć osobny wiersz dla MALE
i FEMALE
wyniki ankiety zamiast oddzielnych kolumn dla male
i female
wyniki.