* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.
Window7 64bit | |
CUBRID 10.1 | |
CUBRID Manage 10.1.0.0003(64bit) | |
java |
* CUBRID 응용 오류, SQL 오류 또는 SQL 튜닝 관련된 문의는 반드시 다음의 내용을 추가해 주세요. 비밀글이나 비밀 댓글도 가능합니다.
* 저희가 상황을 이해하고, 재현이 가능해야 알 수 있는 문제들이 많습니다. 가능한 정보/정황들을 부탁합니다.
에러 내용 및 재현 방법 | 재현 가능한 Source와 SQL |
관련 테이블(인덱스, 키정보 포함) 정보 | CUBRID 홈 디렉토리 아래 log 디렉토리 압축 |
-------------- 아래에 질문 사항을 기입해 주세요. ------------------------------------------------------------------------
안녕하세요.
oracle에서 cubrid로 DB 마이그레이션 하면서 궁금한 사항 몇가지 문의 드립니다.
1. oracle sequence 문의
아시다시피 oracle에는 auto_increment가 없어 sequence로 자동증가를 설정합니다.
cubrid에는 auto_increment와 serial이 있는데, 기본키를 auto_increment로 해야할지, serial로 해야할지 궁금합니다.
oracle을 마이그레이션 한거다 보니 serial이 맞을 것 같은데, insert 할 때, serial_next_value(serial명)으로 키 값을 지정해야주어야 insert가 되더라구요.
auto_increment 같은 경우에는 갑 지정이 없어도 insert가 되구요.
어떤 방식으로 해야 더 효율적일지 문의 드립니다.
2. oracle 기본키 number 문의
oracle 기본키가 number로 sequence가 걸려있습니다.
cubrid로 마이그레이션 결과 number(38,15)로 되어 소수점이 많이 발생합니다.
이럴 경우, int로 타입 변환을 해주는게 맞는 건가요?
* cubrid 공부하면서 진행하고 있는지라 질문내용이 부족해 죄송합니다.
auto_increment가 내부적으로 serial 객체를 사용하는 것이라 내부적으로 동일합니다.
단, serial이 oracle의 sequence와 다른 점은 rollback이 되지 않습니다. 즉, 한번 serial 객체는 내부적으로 auto commit이기 때문에 transaction와 무관하게 작동하게 되어 있습니다.
이 부분은 참고하세요.
2. oracle의 number는 cubrid에서는 numeric 으로 표현됩니다.
numeric을 primary key로 사용하시는데 문제는 없으나, 어떤의미에서 문의하시는 것인지 파악하기 힘들어 답변드리기가 힘드네요.
어떤 의미로 문의를 하신 것인지를 알려주시면, 답변을 드리도록 하겠습니다.