WORK/DB

오라클 SELECT 결과값으로 UPDATE 하기

im 수캥이 2018. 12. 5. 19:03

모든 DB의 UPDATE 문은 아래 문장처럼 동일하다.


UPDATE USER_INFO SET

DEPT_NM = '개발팀'

WHERE USER_ID = '1'


이런 식으로 말이다.


다음은 SELECT 결과로 UPDATE 처리하는 문장을 보자.



UPDATE USER_INFO  A SET (

  DEPT_NM

, DEPT_CD

) = (

SELECT

  DEPT_NM -- Alias 를 사용해 UPDATE 하고자 하는 컬럼명과 동일하게 한다.

, DEPT_CD

FROM DEPT_INFO DI -- JOIN도 가능

WHERE 1 = 1 -- DEPT_INFO 조건이 더 들어갈 수 있다.

)

WHERE A.USER_ID = '1'


이렇게 실행하면 조건에 주어진 DEPT_NM 과 DEPT_CD 가 USER_INFO  테이블에 UPDATE 될 것이다.