기본키(nvarchar)가 되는 ID를 만들고자 합니다.
보통의 기본키의 경우 int값으로 1부터 시작해서 AUTO_INCREMENT로 1씩 증가시킨다거나 하는데
저는 nvarchar형으로 기본키를 만들고자 합니다.
고객의 정보를 기준으로 테이블을 구성하려고자 하는데, 고객 번호를 1,2,3...형식이 아닌
2014_11_00001
2014_11_00002
2014_11_00003
이렇게 구축하고자 합니다..
앞의 201411은 날짜입니다. 물론 10번째가 넘어가면 2014_11_00010이 되겠지요.
CONVERT(CHAR(4),YEAR(GETDATE())) + '_' + CONVERT(CHAR(2),MONTH(GETDATE())) + '_' + CONVERT(CHAR(5),00001)
요딴식으로 넣으려고 했었습니다.
물론 문제가 생깁니다. 00001,00002....순서대로 자동 증가를 해주는 것이 위의 쿼리에서는 불가능 하다는 것과,
저렇게 00001을 입력해서 저장해도 저 위에대로 수행하면 결과는 2014_11_1이 나옵니다. 00001이 나오질 않습니다.
구글을 마구 뒤져본 결과 셀렉트를 해서 기존의 행들을 센 다음에 그 센 행들의 갯수에 +1을 해서 새로운 기본키 값으로 줘라.. 이련이야기가 있긴한데
해결방법을 받고서도 어떻게 COUNT를 넣어서 적용을 해야될지 막막하기만 합니다.
혹시 이 질문에 대하여 해결 사항이 있으시다면 조언 좀 부탁드리겠습니다. 긴 글 읽어주셔서 감사합니다.