백엔드/데이터베이스에러
동일 키 값 발생 문제
1005ptr
2018. 5. 10. 13:03
반응형
CUD Trigger로 입력되는 변경이력 테이블의 PK를 CREATE TIME으로 설정해놨는데
(이것 -> to_char(current_timestamp(3),'yyyymmddhh24miss.ff') )
중복이 발생해버렸다
한 글을 보고
to_char(current_timestamp(6),'yyyymmddhh24miss.ff')
to_char(current_timestamp(6),'yyyymmddhh24miss.ff6')
이렇게 해봤는데 microSecond값은 000으로 뜬다
윈도우 시스템에서 시간을 읽어오는데 그게 밀리까지만 제공해서 그렇단다
고유한 키값을 얻고싶다면 Oracle의 SYS_GUID를 사용해보란다
https://www.experts-exchange.com/questions/25094215/Create-a-microsecond-timestamp-in-oracle.html
https://docs.oracle.com/cd/B13789_01/server.101/b10759/functions153.htm
팀장님은 오라클시퀀스(Sequence)를 사용하란다
Date와 sequence를 혼합하여 사용 YYYYMMDD + SEQ 10자리(0000000000~9999999999)
반응형