데이터베이스 개발자 질문과 답변 게시판

데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.

문자 + 숫자 채번(시퀀스)..

후알유? 2016.11.14 17:41 Views : 3759

안녕하세요 쿼리를 짜다가 너무 막막하여 질문드립니다.


고수분들의 많은 피드백 부탁드립니다.

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


우선 세개의 테이블이 있습니다.


T1 = 데이터가 들어있는 테이블


T2 = 인서트되어야 하는 헤더테이블

T3 = 인서트되어야 하는 라인테이블



Step 1.

T1 테이블 데이터 Select (조회데이터는 인서트할 테이블 스키마에 맞춰 조회한다.)


Step 2.

조회된 데이터를 T2, T3 테이블에 Insert


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

쿼리

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

-- 헤더 테이블

INSERT INTO T2

SELECT 채번, 거래처, SUM(금액)

FROM T1

GROUP BY 거래처


-- 라인 테이블

INSERT INTO T3

SELECT 채번, 항번, 거래처 금액

FROM T1


PS. 항번은 헤더 테이블의 같은 채번일때 구분하기 위한 컬럼입니다. ( INT,  예) 1,2,3,4,5..)

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

질문.

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

여기서 채번은 인서트되는 테이블에 대해서 조회가 되어야합니다.

만약 T2 테이블에 'AAA00001' 으로 채번된 데이터가 저장되어있다면,

조회는 'AAA00002' 부터 시작되어야합니다.


즉, 각각의 라인마다 채번이 + 1 되어 조회되어야합니다.


1.이것을 어떻게 조회하면 좋을까요?


2.함수를 만들어 사용하는게 좋을까요?


3.또한 데이터가 몇십만건입니다. 컬럼수나 로우수가 많기 때문에 조회 후 인서트를 하려면 트래픽이 높습니다.

가장최적으로 처리할방법은..?

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








XE Login