programing

PL/SQL의 CASE 문에 스택 조건

lastmoon 2023. 8. 20. 12:25
반응형

PL/SQL의 CASE 문에 스택 조건

저는 Oracle 10g을 사용하고 있으며 C++에서와 같이 CASE 문에 조건을 "적층"하려고 합니다.

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;

SQL에서와 마찬가지로 IN을 사용할 수 있습니다.

BEGIN
  CASE 
    WHEN EXTRACT(YEAR FROM SYSDATE) IN (2015, 2016, 2017) THEN
      dbms_output.put_line('Yes');
    ELSE
      dbms_output.put_line('No');
  END CASE;
END;
/

언급URL : https://stackoverflow.com/questions/311184/stack-conditions-in-case-statement-in-pl-sql

반응형