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 CUBRID 매니저 데이터베이스 자동시작 설정(CUBRID 7.3.0). 윤희서 2009.01.17 23155
198 CUBRID 매니저 데이터베이스 자동시작 설정(CUBRID 2008 R 1.2). 1 윤희서 2009.01.31 20187
197 운영관리 데이터베이스 볼륨 자동 증가 설정 남재우 2009.04.01 18809
196 마이그레이션 데이터베이스 마이그레이션(unloaddb & loaddb) 의 효과적인 수행방법 file cubebridge 2012.04.14 24551
195 질의작성 데이터 필드의 타입 변경하기 admin 2008.11.21 18420
194 질의작성 데이터 존재하면 update, 존재하지 않으면 insert 방법(ON DUPLICATE KEY UPDATE) 손승일 2010.08.11 38002
193 운영관리 데이터 입력 중 디스크 공간 부족 오류가 발생하였을 때, 복구 방법 이용미 2012.06.30 14333
192 질의작성 데이터 값 작은 따옴표(') 넣기 정만영 2009.03.20 23814
191 질의작성 다중 row를 하나의 column에 넣기 정만영 2009.03.13 20089
190 응용개발 그루비로 큐브리드 함수(or 프로시저) 만들기 by 행복개발자(cyberuls) 시난 2009.07.14 18753
189 질의작성 게시판 응용 중 조회수로 정렬하는 경우 인덱스 생성 방법 1 손승일 2012.06.23 13908
188 질의작성 각 테이블 PK 유무 확인 쿼리문 엄기호 2016.01.01 9021
187 운영관리 각 데이터베이스에 개별적 파라미터 적용하는 방법 정만영 2009.11.30 10183
186 기타 windows에서의 Build 오류 발생 시 조치방법 cubebridge 2009.05.19 14255
185 운영관리 windows 환경에서 압축파일로 CUBRID 설치시 환경변수 쉽게 설정하기 김승훈 2015.07.02 6995
184 운영관리 windows 환경에서 Manager 접속이 되지 않는 경우 처리 방안 남재우 2010.11.26 14424
183 CUBRID 매니저 windows 에서 CUBRID 설치후 CUBRID manager client 최초 연결시 연결 오류 발생 대처 방법 남재우 2009.05.21 17714
182 기타 windows vista 환경의 csql에서 ;edit 실행시 오류발생하는 경우 file 손승일 2009.05.27 16686
181 응용개발 weblogic 8.1 에 CUBRID Connection Pool, DataSource 설정 방법 file 웁쓰 2009.07.01 66306
180 응용개발 utf-8로 저장된 한글이 JAVA SP를 사용하여 읽어 오면 깨져 보일때 손승일 2012.03.10 20802
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