CSV 파일을 이용해서 데이터를 대량으로 업데이트 하는 방법에 대해 알아보자.
나는 기존에 계속 DBeaver 툴을 사용해왔기에 이를 이용해서 업데이트를 하려고 한다.
먼저 업데이트를 위해 필요한 데이터를 가진 csv 파일을 준비한다.
DBeaver를 사용해서 csv 파일을 만드는 방법은 아주 간단하다. 만드는 방법에 대해서는 아래 링크에 정리해 두었다.
혹은, 필요한 데이터만 조회하여 csv 파일을 만들 수도 있다. 이 경우엔 데이터 조회 후 데이터 추출을 선택하면 된다.

다음 csv 파일을 가져와 임시 테이블을 생성한다.
csv 파일을 가져오는 방법에 대해서는 아래 링크에 정리해 두었다.
여기서는 기존 테이블에 데이터를 INSERT 하는 방식으로 설명하고 있지만 테이블을 새로 생성하는 방법도 거의 동일하다.
마지막으로 MERGE문을 사용하여 테이블을 업데이트한다.
MERGE INTO EMP target
USING (
SELECT
EMPNO,
ENAME,
JOB,
MGR,
...
FROM data_temp --data_temp는 로드한 데이터를 임시 테이블
) source
ON (target.EMPNO = source.EMPNO)
WHEN MATCHED THEN
UPDATE SET
target.ENAME = source.ENAME,
target.JOB = source.JOB,
target.MGR = source.MGR,
...;