【发布时间】:2011-11-05 19:11:53
【问题描述】:
我在 PL/SQL 中有以下 CASE
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;
代码编译得很好,但是当我执行到存储过程时,我得到了以下错误:
ORA-06592: 执行 CASE 语句时未找到 CASE
所以当我删除 CASE 时;存储的过程不会编译。我可以得到的唯一示例,在 select 语句中使用 CASE,我不想在 select 语句中使用它,我想在没有一堆 IF THEN ELSE 语句的情况下设置我的变量。
【问题讨论】: