반응형
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)
반응형
'백엔드 > 데이터베이스에러' 카테고리의 다른 글
ORA-00919: 함수가 부적합합니다 (0) | 2019.05.15 |
---|---|
ORA-00959: Tablespace does not exist (0) | 2019.05.09 |
[ORA-01502] 인덱스 '인덱스명'또는 인덱스 분할영역은 사용할 수 없은 상태입니다 (0) | 2018.10.23 |
[오라클] ORA-00911:문자가 부적합 합니다.라는 오류가 뜰때 (0) | 2018.08.01 |
지정한 캐스트가 잘못되었습니다 (0) | 2018.06.21 |
댓글