메뉴 건너뛰기

조회 수 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. No Image 12Sep
    by
    2016/09/12 Views 8230 

    TOAD에서 Explain Plan 보기

  4. No Image 20Jan
    by
    2017/01/20 Views 8241 

    오라클 ORDER BY : 정렬

  5. No Image 20Jan
    by
    2017/01/20 Views 8329 

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

  6. No Image 30Aug
    by
    2016/08/30 Views 8336 

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

  7. 관리자( SYSTEM, SYS) 계정 비밀번호를 잊어버렸을때..

  8. No Image 29Aug
    by
    2016/08/29 Views 8379 

    WITH문으로 쿼리를 임시테이블이나 View처럼 사용하자.

  9. No Image 08Dec
    by
    2016/12/08 Views 8417 

    오라클 해당 월 의 맨첫날 ~ 마지막 일 가져 오는 쿼리

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

    오라클 계정 lock 해제

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

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

  12. 계층형 쿼리의 응용 - 달력만들기

  13. [Oracle 12] ORA-01950: 테이블스페이스 'USERS'에 대한 권한이 없습니다.

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

    [Oracle] 테이블 스페이스 및 사용자 계정 생성 방법

  15. No Image 08Dec
    by
    2016/12/08 Views 8583 

    RMAN 을 이용한 오라클 백업

  16. No Image 30Aug
    by
    2016/08/30 Views 8624 

    rownum 으로 범위지정을 해주고 싶을 때

  17. 오라클] 숫자 체크 방법 (IS_NUMBER, IS_NUMERIC)

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

    오라클 암호 초기화 및 사용자 생성

  19. No Image 08Dec
    by
    2016/12/08 Views 8744 

    엑셀데이타를 DB 에 저장. Excel => oracle db restore

  20. 계층형 쿼리의 응용 - 답변형 계시판

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

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

© k2s0o1d4e0s2i1g5n. All Rights Reserved