본문 바로가기
ORACLE

동일테이블 데이터 부분복사

by 리틀홍콩 2015. 1. 28.
728x90

Q)

    동일 테이블내 FUND_CODE가 '00000' 인 데이터를 FUND_CODE가 '00001' 인 신규 펀드코드에 동일하게 복사해라. 대신 유니크한 데이터 값인 ID는 유니크하게 유지하여야한다.

 

A)

SELECT (ID+ROWNUM) AS ID
FROM (
      SELECT (select max(id) from FUND_INFO) AS ID
      FROM FUND_INFO
     );

 

--------------------------------------------------------------------------------

 

어차피 다른 정보들은 그대로 유지하되 유니크값인 ID와 FUND_CODE만 변경해주면 되므로, INSERT INTO SELECT 를 사용하여 기존데이터는 그대로 입력하게 쿼리를 작성해주고, 변경이 필요한데이터만 따로 작성한다.

기존 데이터 입력시 ID값은 MAX(ID)+1로 설정해 주었다.

 

 (ID+ROWNUM) 이부분을 ID+1로 하면 같은 최초 ID에 +1한 데이터가 쭈루룩 나열된다.

'ORACLE' 카테고리의 다른 글

숫자로 된 값 휴대전화 포맷으로 만들기  (0) 2015.04.03
IN과 EXISTS  (0) 2015.03.23
varchar vs char 의 차이 및 데이터 타입  (0) 2015.01.13
sqlldr 대용량파일 import 하기  (0) 2014.12.08
오라클 테이블 복사하기  (0) 2014.12.08

댓글