해야할 일
QA_BOARD 테이블의 PK인 QA_NO를 만들어주는 쿼리가 필요합니다.
SELECT CONCAT(TO_CHAR(SYSDATE,'YYYYMMDD'),LPAD(QA_BOARD_SEQ.NEXTVAL,4,0))
QA_NO
FROM DUAL
시퀀스 이용해서 만들어서 사용했는데 시퀀스로 하지말라고 하셔서... 어차피 위의 쿼리처럼하면 날짜가 바뀌어도 초기화가 안되서요...
202102050000
202102050001
202102050002
202102050003
202102050004
202102060000
202102060001
202102060002
202102060003
이런식으로 SYSDATE YYYYMMDD뒤에 0000부터 시퀀스 없이 1씩 늘어나게끔 할수 있는 쿼리가 있나요?
추가로 날짜가 바뀌면 다시 0000부터 시작할수 있게끔 할수 있나요..?
"/*com.sds.idps.qa.qaDAO.getQABoardPk*/ SELECT TO_NUMBER(NVL(MAX(QA_NO)+1, TO_CHAR(SYSDATE, 'YYYYMMDD') || '0000')) AS QA_NO FROM TB_QA_BOARD WHERE QA_NO >= TO_NUMBER(TO_CHAR(SYSDATE, 'YYYYMMDD') || '0000')"
이게 제가 겨우겨우 끼워맞추기식으로 만든건데
이거랑 마농님꺼랑 어떤부분에서 차이가 나나요??
제가 지금 작성한거로는 에러라던가 오동작할 특정한 경우의수를 고려하지않은채로 돌아가고있는건가요??
마농님꺼 갖다 쓸건데 그래도 이유라도 좀 알고 갖다쓰고 싶어서요 ㅠㅠ 공부할겸