Notice
Recent Posts
Recent Comments
Link
이야기앱 세상
오라클 - merge를 이용한 update, insert, delete 본문
오라클 - merge를 이용한 update, insert, delete
조건에 따라 데이터를 insert하거나 update를 하는 기능 제공
MERGE INTO emp c <-- 원래 테이블
USING (select 8000 empno,
'DENNIS' ename,
'SALESMAN' job,
7693 mgr,
'99/01/22' hiredate,
1700 sal,
200 comm,
30 deptno
from dual)e <-- 테이블의 저장될 데이터를 컬럼과 매칭하여 dual를 이용해 명시함
on (c.empno = e.empno) <-- primary key를 명시함
WHEN MATCHED THEN <-- 중복되는 primary key가 있으면 update
UPDATE SET
c.ename = e.ename, <- 테이블 알리아스 e는 dual를 가리키기 때문에 dual에 명시한 데이터를 호출함
c.job = e.job,
c.mgr = e.mgr,
c.hiredate = e.hiredate,
c.sal = e.sal,
c.comm = e.comm,
c.deptno = e.deptno
WHEN NOT MATCHED THEN <-- 중복되는 primary key가 없으면 insert
INSERT (c.empno,c.ename,c.job,c.mgr,c.hiredate,c.sal,c.comm,c.deptno)
VALUES (e.empno,e.ename,e.job,e.mgr,e.hiredate,e.sal,e.comm,e.deptno);
중복되는 데이터가 있을 때 delete하는 기능은 10g부터 지원
반응형
'IT > Database' 카테고리의 다른 글
오라클 11g Express Edition 관리자 페이지 포트 번호 변경하기 (0) | 2018.12.12 |
---|---|
오라클 DB 덤프 export/import (0) | 2018.10.01 |
오라클 connect by를 이용한 계층형 게시판 SQL (0) | 2017.07.04 |
오라클 merge를 이용한 update, insert, delete (0) | 2017.07.03 |
오라클 레코드(row) 랜덤 추출 (0) | 2016.07.19 |
Comments