Background Image
?

단축키

Prev이전 문서

Next다음 문서

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

 

데이타 연관성이 있는 데이타와 조인하여 UPDATE 하는 경우가 있다.

즉, 테이블 A와 B를 조인하여 나온 결과를 B의 특정컬럼에 업데이트 하는 경우가 있다.


이때, 프로그램 개발자가 일반적으로 처리하는 방법이 아래와 같은 방법으로 간단하게 프로그램을 작성하여 처리한다.

   //특정 테이블 UPDATE
            StringBuffer sql = new StringBuffer();
            sql.append( " SELECT A.NEW_DATA, B.OLD_DATA     "  );
            sql.append( " FROM JOIN_TABLE A, TARGET_TABLE B "  );
            sql.append( "  WHERE A.TABLE_KEY = B.OLD_DATA   "  );
           
            PreparedStatement pstmt = conn1.prepareStatement(sql.toString());
            rs = pstmt.executeQuery();
           
            StringBuffer updateSql = new StringBuffer();
            updateSql.append( " UPDATE TARGET_TABLE SET OLD_DATA = ? WHERE OLD_DATA = ? " );

            PreparedStatement updatePstmt = null;
            while(rs.next()) {
                updatePstmt = conn2.prepareStatement(updateSql.toString());
                updatePstmt.setString(1, rs.getString(1));  // A.NEW_DATA
                updatePstmt.setString(2, rs.getString(2));  // B.OLD_DATA
                updatePstmt.executeUpdate();
                updatePstmt.close();
            }
            rs.close();
            pstmt.close();

 

위에서 처리하는 것을 한개의 쿼리로 처리하는 것이 큐브리드에서는 가능하다.

 

아래와 같이 한번의 쿼리로 처리하면, 처리속도도 어마어마하게 빠르다.

UPDATE  TARGET_TABLE B 

               SET  B.OLD_DATA  = (  SELECT A.NEW_DATA  

                                                           FROM JOIN_TABLE A

                                                           WHERE A.TABLE_KEY = B.OLD_DATA    ) ;  

 

 


  1. join update 처리방법입니다.(연관성 있는 테이블을 조인하여 처리하는 UPDATE 구문)

  2. MySQL+XE를 CUBRID+XE로 운영하기 – mysqldump파일과 CMT사용

  3. CUBRID와 CUBRID Web Manager설치, 그리고 XE의설치 및 연동까지

  4. CUBRID-PHP-Driver 연동가이드

  5. MySQL에서 CUBRID로 갈아탈 때 알아야 할 것

  6. 오라클 to CUBRID로 마이그레이션 수행 시 주의사항

  7. 오라클의 order by 시 first와 last 대체 사용법

  8. CUBRID에서의 BLOB/CLOB 사용시 백업 및 복구에 대한 주의 점

  9. 전자정부 표준프레임워크 CUBRID 사용 방법 문의 참조

  10. Windows 서버에서 [장치에 쓰기 캐싱 사용] 설정/해제에 따른 성능 차이

  11. 데이터 입력 중 디스크 공간 부족 오류가 발생하였을 때, 복구 방법

  12. 게시판 응용 중 조회수로 정렬하는 경우 인덱스 생성 방법

  13. 문자(char, varchar)로 설계한 날짜데이타 검증하기

  14. CUBRIDManager의 접속 정보 이관

  15. CUBRID Migration Tookit 8.4.1

  16. CUBRID 에서의 사용자 권한관리 방법

  17. 데이터베이스 마이그레이션(unloaddb & loaddb) 의 효과적인 수행방법

  18. 세부내역과 소계를 한개의 쿼리문장으로 수행하는 SQL

  19. 한건의 데이타를 여러건으로 조회하는 쿼리입니다.

  20. 여러건의 코드명을 한건으로 조회하는 쿼리입니다.

Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 14 Next
/ 14

Contact Cubrid

대표전화 070-4077-2110 / 기술문의 070-4077-2113 / 영업문의 070-4077-2112 / Email. contact_at_cubrid.com
Contact Sales