Você precisaria usar a mesma abordagem SQL dinâmica que foi sugerida em sua outra pergunta
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;
Mas você teria as mesmas objeções gerais que foram levantadas em sua pergunta anterior - o modelo de dados é fundamentalmente falho. Você seria muito melhor servido com uma linha separada para
MALE
e FEMALE
resultados da pesquisa em vez de ter colunas separadas para male
e female
resultados.