2016-07-21 1 views
0

예를 들어 3 행을 업데이트해야합니다. 나는 각 행을 업데이트하는 UPDATE 문 3 시간을 실행하고 있어요 :오라클 절차에서 많은 다른 값으로 여러 줄을 업데이트

UPDATE table SET col1 = 'a' where col2 = '1'; 
UPDATE table SET col1 = 'b' where col2 = '2'; 
UPDATE table SET col1 = 'c' where col2 = '3'; 

그래서 그것을 빨리 만들 수있는 방법이 당신에게

답변

1

update의 감사하는 것은 매우 합리적인 접근 방식이다.

update table 
    set col1 = (case when col2 = 1 then 'a' 
        when col2 = 2 then 'b' 
        when col2 = 3 then 'c' 
        else col1 
       end) 
    where col2 in (1, 2, 3); 
+0

'where' 절을 사용하면'case' 표현식의'else' 부분이 필요하지 않습니다 (해가되지는 않지만 단지 필요하지 않음). – mathguy

+0

내 응용 프로그램에서 호출 할 수 있도록 sp를 사용하고 싶습니다. 매개 변수가있는 SP에 대해 제안 할 수 있습니까? – JimmyN

관련 문제