오라클 참조테이블(다른테이블) 값으로 업데이트 처리하기

실수로 디비컬럼을 다른 값으로 업데이트하고 커밋을 처리했을경우 어떻게 처리하고 계시나요?


다행히 백업 테이블이 남아있어서 백업 테이블기준으로 데이터를 업데이트해야할 경우 아래와 같이 사용하시면 됩니다.


오라클에서 참조되는 테이블 대상으로 쿼리를 업데이트할경우에는 아래와 같이 사용해주세요.

 

UPDATE 업데이트대상테이블 a
       SET        
           업데이트할 값       
           =
       (SELECT 업데이트참조 값
         FROM 참조될테이블 b
        WHERE A.기준값 = b.기준값
       )
 WHERE a.기준값 IN
       (SELECT A.기준값
         FROM 참조될 테이블
       )

 

업데이트참조 값은 다른 테이블에 있는 업데이트 대상 값입니다.