2016년 1월 24일 일요일

[oracle]merge 문

/* merge 문은 테이블 구조가 동일한 두개 이상의 테이블이나 뷰 를 서브쿼리로
테이터를 비교하여 병합하는것. 오라클 데이터베이스에서 만 가능한 기술이다.*/

/*
문법
merge into 테이블A
  using [테이블ㅠ | 뷰 | 서브쿼리]
  on 조건
when matched then
  update set...

when not matched then
  insert into ... values....;
*/




select count(*) from course;
select * from course_temp;

/* course 테이블에 course_temp 데이터를 병합하기
이미 존재하는 경우는 데이터를 변경하고 존재하지 않는 경우는 insert 를 한다.
*/

/*예*/
merge into course c
using course_temp c2
on (c.course_id = c2.course_id)
when matched then
  update set c.title = c2.title, c.course_fees = c2.course_fees
when not matched then
  insert(course_id,title,c_number,professor_id,course_fees)
  values(c2.course_id,c2.title,c2.c_number,c2.professor_id,c2.course_fees);

rollback;

댓글 없음:

댓글 쓰기

[oracle]옵티마이저(Optimizer)와 실행 계획, 실전 튜닝 기초 완벽 정리

[Oracle SQL] 옵티마이저(Optimizer)와 실행 계획, 실전 SQL 튜닝 가이드 이 가이드에서는 오라클 데이터베이스의 핵심 엔진인 옵티마이저의 원리를 이해하고, DBeaver와 SQL Developer를 활용하여 실제 쿼리의 실행 계획을...