[Oracle] 오라클 다중 Replace의 대안 [Replace 여러개 방법]
개요
컬럼이 약 600개정도가 있는 조회절이 있었는데 이 모든 컬럼을 다른 테이블의 매치되는 컬럼과 텍스트 REPLACE가 필요한 상황.
손으로 변경하면 시간도 꽤 오래걸리고 정확성도 떨어질 것 같아서 고민을 하다가 반복문을 사용해보기로 했어요.
1. CLOB테이블 생성
쿼리를 담을 CLOB 테이블 생성, SQL 저장.
CREATE TABLE TMP_CLOB ( QUERY CLOB );
2. 컬럼정보 테이블 생성
REPLACE할 컬럼정보 테이블 생성 후 데이터 적재.
TMP_COL - TARGET_ID - 타겟컬럼 | TMP_COL - REPALCE_ID - 변경될 컬럼 |
COL1 | COL2 |
3. 반복문 작성
BEGIN
FOR X IN (
SELECT TARGET_ID, REPLACE_ID
FROM TMP_COL;
)
LOOP
UPDATE TMP_CLOB
SET QUERY = REPLACE(QUERY,X.TARGET_ID,X.REPLACE_ID);
END LOOP;
COMMIT;
END;
4. 수행결과
약 600개의 컬럼이 정상적으로 REPLACE되었음을 확인 후 데이터 조회 완료.
'오라클 DB' 카테고리의 다른 글
[Oracle] 오라클 그룹별 랭크 순위 [RANK OVER PARTITION BY | DENSE_RANK 차이] (0) | 2022.08.01 |
---|---|
[Oracle] 오라클 ORA-02292 무결성 제약조건 자식레코드가 발견되었습니다 처리내용 (0) | 2022.07.20 |
[Oracle] 오라클 잘못된 기본 키입니다 에러 [ORA-02437 을 검증할 수 없습니다] (0) | 2022.07.13 |
[Oracle] 오라클 TRUNCATE TABLE의 활용 [ORACLE 테이블 조회속도 향상] (1) | 2022.06.27 |
[Oracle] 오라클 반복문 FOR, LOOP, WHILE (2) | 2022.01.12 |