달력

12

« 2024/12 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
2017. 7. 2. 22:56

MERGE INTO C. Oracle2017. 7. 2. 22:56

MERGE INTO : 조건이 맞으면 데이터를 UPDATE 하고 틀리면 INSERT 하는 쿼리

 
MERGE Statement

MERGE
INTO
Insert 나 update 할 타겟 테이블
USING
 타켓 테이블에 들어갈 소스 데이터 
ON
인서트 할 것인지 업데이트 할것인지를 결정하는 조건 즉
(조건이 맞으면 업데이트문 실행 조건이 맞지 않으면 인서트 문을 실행)
WHEN MATCHED THEN  
조건이 맞았을 때 쿼리문
WHEN NOT MATCHED THEN 
조건이 맞지 않았을 때 쿼리문


오라클 도큐먼트에 있는 예문)

MERGE INTO bonuses D
   USING (SELECT employee_id, salary, department_id FROM employees
   WHERE department_id = 80) S
   ON (D.employee_id = S.employee_id)
   WHEN MATCHED THEN UPDATE SET D.bonus = D.bonus + S.salary*.01
   WHEN NOT MATCHED THEN INSERT (D.employee_id, D.bonus)
   VALUES (S.employee_id, S.salary*0.1);

 


'C. Oracle' 카테고리의 다른 글

oracle 시퀀스 SEQUENCE  (0) 2017.07.02
oracle 스키마 SCHEMA  (0) 2017.07.02
oracle 함수  (0) 2017.07.02
ORA-29275 부분 다중 바이트 문자 Error  (0) 2017.07.02
where 1=1  (0) 2017.07.02
:
Posted by sfeg