Я получаю ошибку деления на ноль при использовании этой функции.Компилируется нормально.Поскольку я не использую оператор выбора, я предполагаю, что NULLIF не будет работать.Что я могу использовать, чтобы избежать деления на ноль?
OPEN GET_DATA;
fetch GET_DATA into v_gpa_hsch,v_gpa_hsch_scale,v_gpa_scale,v_gpa,
v_gpa_recalc,v_gpa_hsch_recalc;
IF GET_DATA%NOTFOUND
THEN
IT_final_final_calc :=0;
ELSE
IF v_gpa_hsch_scale < v_gpa_scale
THEN IL_higher_scale_calc := v_gpa_scale;
ELSE IL_higher_scale_calc := v_gpa_hsch_scale;
END IF;
IF v_gpa_hsch < v_gpa
THEN IM_gpa_calc := v_gpa;
ELSE IM_gpa_calc := v_gpa_hsch;
END IF;
IF IM_gpa_calc > IL_higher_scale_calc
THEN IN_highest_gpa_calc := IL_higher_scale_calc;
ELSE IN_highest_gpa_calc := IM_gpa_calc;
END IF;
IO_factor_calc := (IL_higher_scale_calc/4);
--I PRESUME THE FOLLOWING LINE IS THE ISSUE:
IP_rec_calc := +(IN_highest_gpa_calc/IO_factor_calc);