- 전체
- Sample DB
- database modeling
- [표준 SQL] Standard SQL
- G-SQL
- 10-Min
- ORACLE
- MS SQLserver
- MySQL
- SQLite
- postgreSQL
- 데이터아키텍처전문가 - 국가공인자격
- 데이터 분석 전문가 [ADP]
- [국가공인] SQL 개발자/전문가
- NoSQL
- hadoop
- hadoop eco system
- big data (빅데이터)
- stat(통계) R 언어
- XML DB & XQuery
- spark
- DataBase Tool
- 데이터분석 & 데이터사이언스
- Engineer Quality Management
- [기계학습] machine learning
- 데이터 수집 및 전처리
- 국가기술자격 빅데이터분석기사
- 암호화폐 (비트코인, cryptocurrency, bitcoin)
ORACLE Oracle :: MERGE INTO
2020.09.10 10:30
Oracle :: MERGE INTO
1. 정의
CRUD중 조건에 따라 CUD가 가능한 명령어이다.
MERGE INTO 조건에 해당하는 행이 존재시 UPDATE / 없으면 INSERT 한다.
2. 구문
|
1
2
3
4
5
6
7
8
9
10
|
MERGE INTO [스키마.]테이블명
USING (update나 insert될 데이터 원천)
ON (update될 조건)
WHEN MATCHED THEN
SET 컬럼1 = 값1, 컬럼2 = 값2, ...
WHERE update 조건
DELETE WHERE update_delete 조건
WHEN NOT MATCHED THEN
INSERT (컬럼1, 컬럼2, ...) VALUES (값1, 값2,...)
WHERE insert 조건;
|
cs |
3. 예시
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
<insert id="mergeBoard">
MERGE INTO BOARD_USER B1
USING (
SELECT USER_ID, DEPT_CD
FROM USER
WHERE DEPT_CD IN (
SELECT DEPT_CD
FROM DEPT
START WITH DEPT_CD = #deptCd#
CONNECT BY PRIOR DEPT_CD = UPPER_DEPT_CD
)
) B2 ON (B1.BOARD_NO - #boardNo# AND B1.USER_ID = B2.USER_ID)
WHEN MATCHED THEN
UPDASTE SET B1.BOARD_AUTTHOR = #boardAuthor#
WHEN NOT MATCHED THEN
INSERT (BOARD_NO, USER_ID, BOARD_AUTHOR)
VALUES (#boardNo#, B2.USER_ID, #boardAuthor#)
</insert>
|
cs |
4. 참고사항
CLOB 타입을 사용시 2000bytes가 넘을 때에는 ORA-06600 오류가 발생한다.
또한, ON 절에 기술된 컬럼이 WHEN MATCHED THEN 다음에 오는 UPDATE 행에는 올 수 없다.
UPDATE할 컬럼의 PK, UK 등을 명시하지 않으며, INSERT 시에는 PK, UK등의 값을 넣어야 한다.
출처: https://diaryofgreen.tistory.com/195 [vida valiente]
본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
댓글 0
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
|---|---|---|---|---|
| 공지 | 오라클 기본 샘플 데이터베이스 | 졸리운_곰 | 2014.01.02 | 86152 |
| 공지 | [SQL컨셉] 서적 "SQL컨셉"의 샘플 데이타 베이스 SAMPLE DATABASE of ORACLE | 가을의 곰을... | 2013.02.10 | 78647 |
| 공지 | [G_SQL] Sample Database | 가을의 곰을... | 2012.05.20 | 95383 |
| 2 | SQLD 기출 문제 및 요약 정리 모음 | 졸리운_곰 | 2020.03.06 | 2879 |
| 1 |
SQLP 기출문제_1
| 졸리운_곰 | 2017.05.27 | 1871 |

