SQL
[Oracle] SELECT UPDATE 문 작성 방법
하루종일v
2023. 10. 3. 12:37
UPDATE "UPDATE_TABLE" A
SET A.COLUMN = (SELECT B.COLUMN
FROM "SELECT_TABLE" B
WHERE B.JOIN_COLUMN = A.JOIN_COLUMN )
WHERE A."COLUMN " = "VALUE";
단순 SELECT UPDATE문의 경우 위 항목에서 JOIN_COLUMN부분만 제거 하면된다.
위 방법은 UPDATE하려는 TABLE과 SELECT TABLE의 JOIN이 필요한 SELECT UPDATE문이다.
위 방법을 사용하게된 상황은 게시판 마이그레이션 할때 게시글을 내용을 대량으로 조회하여 INSERT 할때
시간이 너무 오래 걸려 DB LOCK이 걸리는 상황이 발행하여 이관이 안되었어다.
여러 방법이 있겠지만
게시판 마이그레이션 시 먼저 INSERT 할때 내용은 EMPTY_CLOB() 으로 INSERT하고
INSERT가 끝나고 난후 위 방법을 사용하여 내용을 UPDATE 하였다.
반응형