메뉴 건너뛰기

조회 수 8145 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

중복 조인을 피하기 위한 update 방법에 대해 알아보겠습니다.

 
    UPDATE TotalPoint T
          SET usePoint = (SELECT usePoint
                                     FROM UserPoint U WHERE U.userId = T.userId),
              totPoint = totPoint + (SELECT usePoint
                                                FROM UserPoint U WHERE U.userId = T.userId)
        FROM userId = 'testUser'

이런식으로 서브쿼리를 2번 같은 내용으로 사용하는 것은 비효율적이다.
만약에 더 많은 컬럼값을 Update해야 한다면 중복이 더 많아질 것이다.

Merge를 사용하면 이러한 중복을 줄일 수 있다.

 

    MERGE INTO TotalPoint T
     USING (
                     SELECT userId,
                               usePoint
                        FROM UserPoint U
                      WHERE userId = 'testUser'
               ) U
         ON (T.userId = U.userId)
     WHEN MATCHED THEN
     UPDATE SET T.totPoint = T.totPoint + U.usePoint,
                T.userPoint = U.usePoint

 

이렇게 Merge를 사용하면 중복조인의 문제를 피할 수 있어 좋다.

오라클에서, '중복조인 방지를 위한 UPDATE'에 대한 더 자세한 글은 다음 링크에서 확인할 수 있다.
http://scidb.tistory.com/111


  1. No Image 29Aug
    by 조쉬
    2016/08/29 Views 8145 

    Oracle에서 중복 조인을 피하기 위한 Update 방법 (MERGE 사용)

  2. Oracle에서 세자리 콤마 찍기

  3. Oracle에서 사용자가 생성한 모든 Table, View를 삭제하는 쿼리 만들기

  4. Oracle에서 ORA-28000: 계정이 잠금되었습니다. - 해결 방법

  5. Oracle에서 Foreign Key가 걸려있는 컬럼값 업데이트(update) 하기

  6. oracle 특수문자 입력시 Substitution Variable 변수치환을 없애는 방법

  7. No Image 29Aug
    by
    2016/08/29 Views 7140 

    Oracle 저장 프로시저 샘플

  8. Oracle 에서 테이블과 리소스의 존재 여부를 알아보는 쿼리

  9. No Image 30Aug
    by
    2016/08/30 Views 8335 

    Oracle 에서 NVL, NVL2 함수 사용하는 예제

  10. No Image 08Dec
    by
    2016/12/08 Views 7023 

    oracle 에서 Index를 이용해서 즉 힌트와 rownum을 이용하여 게시판 작성하기

  11. Oracle 시퀀스 생성, 추가, 삭제

  12. No Image 11Sep
    by
    2016/09/11 Views 8526 

    oracle 구동 방법 및 재부팅 시 oracle 자동 시작 설정 ( /etc/rc.local )

  13. Oracle XDB 리스너 포트 바꾸기

  14. No Image 11Sep
    by
    2016/09/11 Views 8014 

    oracle user 관리

  15. Oracle SQL Developer 도구 활용하기 - Part2

  16. Oracle SQL Developer 도구 활용하기 - Part1

  17. No Image 11Sep
    by
    2016/09/11 Views 10650 

    oracle log 보기 - alert, trace

  18. No Image 11Sep
    by
    2016/09/11 Views 7492 

    oracle listener 로그 형식 - oracle 11g 이전 versioin의 형식으로 변경

  19. Oracle DBMS_CRYPTO 사용하기 - 암복호화 하기

  20. Oracle DB 에서 Toad 를 사용하여 Procedure 디버깅 하기

Board Pagination Prev 1 2 3 4 5 6 7 Next
/ 7

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved