메뉴 건너뛰기

조회 수 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 27Oct
    by
    2018/10/27 Views 2149 

    오라클 랜덤함수

  2. No Image 27Oct
    by
    2018/10/27 Views 4310 

    오라클 10, 16진수(Decimal, Hex) 변환

  3. No Image 08Dec
    by
    2016/12/08 Views 6829 

    Oracle Batch Processing

  4. No Image 08Dec
    by
    2016/12/08 Views 6911 

    SQL 작성을 위한 25가지 원칙

  5. No Image 12Sep
    by
    2016/09/12 Views 6969 

    아카이브 백업 / 복구

  6. No Image 12Sep
    by
    2016/09/12 Views 7015 

    DB Link How-To

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

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

  8. No Image 08Dec
    by
    2016/12/08 Views 7029 

    오늘을 기준으로 해당주(week)의 모든 일자조회

  9. No Image 12Sep
    by
    2016/09/12 Views 7069 

    PK 수정하기

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

    ORA-28001: the password has expired - 추천 실적용 실전

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

    Oracle 저장 프로시저 샘플

  12. No Image 12Sep
    by
    2016/09/12 Views 7178 

    제로보드 reg_date 필드 date 형으로 변환하기

  13. No Image 20Jan
    by
    2017/01/20 Views 7205 

    오라클 NULL : 값이 존재하지 않는 상태

  14. No Image 08Dec
    by
    2016/12/08 Views 7215 

    오라클(PL/SQL) 미리 정의된 예외처리

  15. No Image 12Sep
    by
    2016/09/12 Views 7249 

    자동증가 SEQUENCE 생성

  16. No Image 21Sep
    by
    2016/09/21 Views 7274 

    오라클 암호를 분실한 경우 접속 방법

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

  18. No Image 08Dec
    by
    2016/12/08 Views 7381 

    기간내 모든 날자(일자) 구하기

  19. No Image 12Sep
    by
    2016/09/12 Views 7413 

    Create SYNONYM

  20. TOAD 에서 Edit 를 통해 sql문을 작성할때 참고해야할 View

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

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

© k2s0o1d4e0s2i1g5n. All Rights Reserved