오라클에서 업데이트를 여러건을 처리할때 아래와 같이 사용할 수 있다.

주의할 점은 여러건을 동시에 처리하기 때문에 쿼리가 맞는지 확인후에 사용하길 권고한다.

이외 set절의 건수는 단건의 조건이기 때문에 "="을 사용하고

where절의 건수는 다건의 조건이기에 "IN")을 사용한다.

 

UPDATE USER_INFO A
    SET (USER_TYPE, USER_NM) = (SELECT LOGIN_TYPE, LOGIN_NM

FROM LOGIN_INFO

    WHERE USER_ID = A.USER_ID)

WHERE (ETC_TYPE, ETC_DIV) IN (SELECT ETC_TYPE, ETC_DIV

    FROM LOGIN_INFO

  WHERE USE_YN = 'Y')

 

반응형

+ Recent posts