У меня есть следующий CASE в PL/SQL
CASE
WHEN v_line_item.custom_segment = 'CND1' THEN
v_current_col := v_col_lcy_tps;
WHEN v_line_item.custom_segment = 'CND2' THEN
v_current_col := v_col_lcy_ib;
WHEN v_line_item.custom_segment = 'CND3' THEN
v_current_col := v_col_lcy_gm;
WHEN v_line_item.custom_segment = 'CND4' THEN
v_current_col := v_col_lcy_pb;
WHEN v_line_item.custom_segment = 'CND5' THEN
v_current_col := v_col_lcy_bb;
END CASE;
Код компилируется отлично, но когда я выполняю для сохраненного proc, я получаю следующую ошибку:
ORA-06592: CASE не найден при выполнении оператора CASE
Итак, когда я удаляю CASE; сохраненная proc не будет компилироваться. Единственные примеры, на которые я могу положиться, использует CASE в выражении select, я не хочу использовать его в инструкции select, я хочу установить свою переменную, не имея кучу инструкций IF THEN ELSE.