PL/SQL中CASE语句中的堆栈条件

Xav*_*nas 12 oracle plsql

我正在使用Oracle 10g,我试图在CASE语句中"堆叠"条件,就像我在C++中所做的那样:

case 1:
case 2:
    // instructions
    break;
Run Code Online (Sandbox Code Playgroud)

即,为两个不同的成功条件执行相同的代码块.

我试过了 :

WHEN 1, 2 THEN
WHEN 1 OR 2 THEN
Run Code Online (Sandbox Code Playgroud)

......没有运气.它甚至可能吗?

编辑 - 完整片段

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;
Run Code Online (Sandbox Code Playgroud)

生成表达式错误的类型错误

WW.*_*WW. 25

您需要使用以下格式:

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;
Run Code Online (Sandbox Code Playgroud)