Debería usar el mismo enfoque de SQL dinámico que se sugirió en su otra pregunta
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;
Pero tendría las mismas objeciones generales que se plantearon en su pregunta anterior:el modelo de datos es fundamentalmente defectuoso. Sería mucho mejor tener una fila separada para MALE
y FEMALE
resultados de la encuesta en lugar de tener columnas separadas para male
y female
resultados.