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' 카테고리의 다른 글
오라클 - merge를 이용한 update, insert, delete (0) | 2017.10.12 |
---|---|
오라클 connect by를 이용한 계층형 게시판 SQL (0) | 2017.07.04 |
오라클 레코드(row) 랜덤 추출 (0) | 2016.07.19 |
[동영상]mysql 설치 - 다운로드 및 윈도우즈에 설치 (0) | 2016.04.01 |
MySql 5.7 설치하기 (1) | 2016.03.30 |
Comments