IT Data/#DataBase

자동증감이 아닌 최대치를 조회하여, 기본키값 지정해 주기

vcjoo 2013. 4. 18. 10:43



MSSQL
 SELECT CONVERT(VARCHAR,GETDATE(),112) AS dt                                     
      ,RIGHT('000'+CONVERT(VARCHAR,ISNULL(RIGHT(MAX(SCREEN_NO),3),0)+1),3) AS seq 
FROM CS_SCREEN_INFO WHERE CONVERT(VARCHAR,GETDATE(),12)+'000' < SCREEN_NO         

SELECT TO_CHAR(SYSDATE,'YYYYMMDD') AS dt                                     
      ,LPAD(NVL(SUBSTR(MAX(SCREEN_NO),9),0)+1,3,'0') AS seq 
FROM CS_SCREEN_INFO WHERE SCREEN_NO > TO_CHAR(SYSDATE,'YYYYMMDD')||'000'  

오른쪽 세자리가 가장 큰 값을 불러온다.

오늘의 날짜를 불러와서, 오늘 날짜 기준. 처음으로 등록된 자료부터 001,002,003... 의 값이 입력된다.