MERGE문 (데이터수정, 추가)
안녕하세요.
직장에서 벗어나 자신의 삶을 살아갈 수 있도록 도와주는 드림빌더 꿍스뿡이 입니다.
개발할때 사용하기 편하도록 MERGE문 코드를 만들어 놨으니 복사해서 편하게 사용하세요~!
참고 : 해당 포스팅은 개발자분들이 빠르게 복사하여 사용하기 위한 목적으로 만들었습니다.
별도의 상세한 설명은 작성하지 않았습니다. 따라서 상세한 설명을 원하실 경우에는 댓글을 달아주시면
해당 포스팅의 내용을 보충하도록 하겠습니다.
(본 예제의 테이블명은 TMP_TABLE이 기준 테이블이며 동일한 구조의 TMP_TABLE2가 있다는 전재임)
CREATE TABLE TMP_TABLE (
CODE_NO VARCHAR2(20 BYTE) NOT NULL,
CODE_NM VARCHAR2(20 BYTE) NULL,
AMT NUMBER(16) NULL,
YN_FLAG CHAR(1 BYTE) NULL,
DATE_VALUE DATE NULL
);
[테이블 구조]
MERGE INTO TMP_TABLE
USING DUAL
ON (CODE_NO = '2000')
WHEN MATCHED THEN
UPDATE SET
CODE_NM = '코드명',
AMT = 50000,
YN_FLAG = 'Y',
DATE_VALUE = SYSDATE
WHEN NOT MATCHED THEN
INSERT (
CODE_NO,
CODE_NM,
AMT,
YN_FLAG,
DATE_VALUE
)VALUES(
'2000',
'코드명',
50000,
'Y',
SYSDATE)
[MERGE문 샘플(동일테이블)]
MERGE INTO TMP_TABLE A
USING TMP_TABLE2 B
ON (A.CODE_NO = '2000')
WHEN MATCHED THEN
UPDATE SET
A.CODE_NM = B.CODE_NM,
A.AMT = B.AMT,
A.YN_FLAG = B.YN_FLAG,
A.DATE_VALUE = B.DATE_VALUE
WHEN NOT MATCHED THEN
INSERT (
CODE_NO,
CODE_NM,
AMT,
YN_FLAG,
DATE_VALUE
)VALUES(
'2000',
'코드명',
50000,
'Y',
SYSDATE)
[MERGE문 샘플(다른테이블)]
내용이 도움이 되셨거나 초보 블로거를 응원하고 싶은신 분은 공감버튼을
내용의 수정이 있거나 도움이 필요하신 분은 댓글을 남겨주세요~
'2.IT > DB,ORACLE' 카테고리의 다른 글
[ORA-01850] 시간은 0에서 23 사이어야 합니다. 해결방법. (0) | 2019.05.08 |
---|---|
[SQL] PROCEDURE (프로시저) (0) | 2018.10.27 |
[SQL] DELETE문 (데이터삭제) (0) | 2018.10.22 |
[SQL] UPDATE문 (데이터수정) (0) | 2018.10.21 |
[SQL] INSERT문 (데이터추가) (0) | 2018.10.20 |