index hint 를 이용한 max + 1 채번
예전 글 옮깁니다.
index 를 이용한 max + 1 채번
( db 이관 작업있을경우 작업후에 제대로 채번이 되지 않을수 있어 선호하지 않는 방식이다.
아무튼... 정리... )
아래 sql : 임시테이블의 데이터를 최종테이블로 옮기면서 채번값을 구함
before
--INSERT INTO jeeta_BOARD
SELECT
BULLETIN_NUM
,CUST_ID
,( SELECT MAX(LIST_NUM) FROM FIK_BOARD
WHERE CUST_ID = 'fix'
AND BULLETIN_NUM = 'news'
) + ROWNUM
,B_DATE
,NAME
,PWD
,EMAIL
,TITLE
,REST
,CONTENT
,REFER
,FILE_PATH
,REF
,REF_SEQ
FROM T_jeeta A
WHERE A.B_DATE = TO_char(SYSDATE - 1,'yy/mm/dd')
after
--INSERT INTO jeeta_BOARD
SELECT
BULLETIN_NUM
,CUST_ID
,( SELECT /*+ index_desc(a SYS_C006554) */
LIST_NUM
FROM WEBADM.jeeta_BOARD a
WHERE CUST_ID = 'fix'
AND BULLETIN_NUM = 'news'
AND ROWNUM =1
) + ROWNUM
,B_DATE
,NAME
,PWD
,EMAIL
,TITLE
,REST
,CONTENT
,REFER
,FILE_PATH
,( SELECT /*+ index_desc(a SYS_C006554) */
LIST_NUM
FROM WEBADM.jeeta_BOARD a
WHERE CUST_ID = 'fix'
AND BULLETIN_NUM = 'news'
AND ROWNUM =1
) + ROWNUM
,REF_SEQ
FROM T_C0_jeeta A
WHERE A.B_DATE = TO_char(SYSDATE - 1,'yy/mm/dd')