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    ) ;  

 

 


List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
199 질의작성 임의의 컬럼을 rownum 으로 업데이트 하기 Prototype 2009.07.01 22536
198 응용개발 JDBC 사용시 SQL 로깅 - p6spy 사용 1 웁쓰 2009.07.01 36002
197 기타 CUBRID JDBC Driver 빌드 방법 웁쓰 2009.07.01 16943
196 응용개발 weblogic 8.1 에 CUBRID Connection Pool, DataSource 설정 방법 file 웁쓰 2009.07.01 66306
195 응용개발 JDBC 커넥션 스트링에 UTF-8 명시하는법 Prototype 2009.07.03 19019
194 응용개발 그루비로 큐브리드 함수(or 프로시저) 만들기 by 행복개발자(cyberuls) 시난 2009.07.14 18753
193 CUBRID 매니저 Java SP사용시 JNI_CreateJavaVM 에러메시지 해결 방법 file seongjoon 2009.07.15 32043
192 기타 CUBRID의OLE DB 드라이버 설치 방법. file seongjoon 2009.08.24 16263
191 질의작성 CUBRID DB 내의 auto_increment 값을 초기화 하자. 손승일 2009.10.28 29734
190 운영관리 Window서버 cmd창에서 CUBRID 구동 후 cmd창을 닫을 시 DB서비스 중단 조치방법 cubebridge 2009.10.29 16465
189 CUBRID 매니저 CUBRID Manager에서 character set 변경하기[R2.0] file seongjoon 2009.10.29 17963
188 응용개발 CUBRID의 Statement pooling기능 cubebridge 2009.11.06 16944
187 질의작성 CUBRID에서 응용프로그램 쿼리 binding 구문이 있을 경우 plan의 차이 cubebridge 2009.11.06 15701
186 운영관리 cubrid.conf파일 적용의 우선 순위와 HOST적용 우선 순위 cubebridge 2009.11.14 13370
185 운영관리 CUBRID에서 데이터가 있는 칼럼의 도메인 변경 시 조치방법 cubebridge 2009.11.16 12409
184 응용개발 MySQL의 Blob타입을 CUBRID로 변환하기 cubebridge 2009.11.18 18859
183 응용개발 CUBRID에서 제약조건(PK,FK,UNIQUE),index 설정 시 주의 사항 cubebridge 2009.11.26 18886
182 응용개발 윈도우 환경에서 PHP 모듈 로드를 못 할 경우 해결법 3 Prototype 2009.11.26 22541
181 응용개발 용량이 큰 데이터를 질의로 저장하는 방법 남재우 2009.11.26 12117
180 운영관리 CUBRID 복제중인 DB 백업 중 아카이브 로그파일 삭제 방법 손승일 2009.11.26 17159
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