我正在使用Oracle 10g,我试图在CASE语句中"堆叠"条件,就像我在C++中所做的那样:
case 1: case 2: // instructions break;
即,为两个不同的成功条件执行相同的代码块.
我试过了 :
WHEN 1, 2 THEN WHEN 1 OR 2 THEN
......没有运气.它甚至可能吗?
编辑 - 完整片段
CASE v_n WHEN (1 OR 2) THEN dbms_output.put_line('Case 1 or 2'); WHEN 3 THEN dbms_output.put_line('Case 3'); END CASE;
生成表达式错误的类型错误
您需要使用以下格式:
CASE WHEN v_n = 1 OR v_n = 2 THEN dbms_output.put_line('Case 1 or 2'); WHEN v_n = 3 THEN dbms_output.put_line('Case 3'); END CASE;