2014-03-12 9 views
2

C 기반 언어로 다음과 같이 PL/SQL의 값 사이에 조건부 선택이 있는지 궁금합니다. [condition] ? [value1] : [value2].두 값 사이에서 조건부 선택

내가 같은 UPDATE 문에서 사용하고 싶습니다 :

UPDATE [table] SET [field] = [condition] ? [value1] : [value2] WHERE [where clause]; 

내가 DECODE의하지만 이미했지만, 내가 직접 사용하고자하지 변수에 그 결과를 저장 한 후 것 update 문에서 사용하십시오.

답변

3

당신은 CASE

UPDATE [table] 
SET [field] = 
    CASE 
    WHEN field2 = 'Y' 
     THEN [value1] 
    WHEN field2 = 'N' 
     THEN [value2] 
    ELSE 
    END; 
+0

는 간단한 조건의 경우도 DECODE를 사용할 수 사용해 볼 수 있습니다 : UPDATE [표] SET [필드] = DECODE (FIELD2, [가치], [값 field2 = 값], [값이 field2 <> 값일 때) WHERE [where 절]; – pablomatico