Du skal bruge den samme dynamiske SQL-tilgang, som blev foreslået i dit andet spørgsmål
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;
Men du ville have de samme generelle indvendinger, som blev rejst i dit tidligere spørgsmål - datamodellen er grundlæggende fejlbehæftet. Du ville være meget bedre tjent med at have en separat række for MALE
og FEMALE
undersøgelsesresultater i stedet for at have separate kolonner for male
og female
resultater.