과거에 퍼포먼스 문제로 별로 사용하지 않았지만, 지금이야 뭐 ~~
조건과 매칭이 되면 update 안되면 insert 처리 하기 위함 ( 다량의 데이터 처리 )
단, MERGE INTO에 CLOB필드가 있을 경우 사이즈가 크면 ORA-00600 에러 발생
MERGE <HINT> INTO <TABLE_NAME> |
UPDATE에 매칭되는 데이터는 삭제할 수 있음.
DELETE 문법을 이용해서 삭제 후 INSERT 문법을 활용하는데 이렇게 하면 인덱스가 점점 안 좋아 질 수 있고, 서비스 테이블에서 조회하려는 시점에 아무 정보도 못 얻어서 비지니스 적인 오류가 발생하기도 함.
MERGE INTO 테이블A |
※ DELETE도 가능함 ( 오라클 10g 이후 )
※ MERGE UPDATE, INSERT 절의 WHERE 절의 조건은 인라인 뷰에 기술하는것이 성능적으로 바람직함.
단, 둘다 이용할 경우에는 결과가 달라지지 않도록 주의 해야 함
'ORACLE' 카테고리의 다른 글
ORA-06508 (0) | 2020.01.14 |
---|---|
drop table (0) | 2020.01.13 |
권한 관련 VIEW (0) | 2019.12.11 |
Create the synonym (0) | 2019.11.07 |
DB LINK 테이블 정보 보기 (0) | 2019.05.10 |