* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.
Window7 32bit, Linux 64bit 등 | |
[cubrid_rel] 수행 결과 | |
[도움말]-[버전정보] 확인 | |
java, php, odbc 등 입력 |
* CUBRID 응용 오류, SQL 오류 또는 SQL 튜닝 관련된 문의는 반드시 다음의 내용을 추가해 주세요. 비밀글이나 비밀 댓글도 가능합니다.
* 저희가 상황을 이해하고, 재현이 가능해야 알 수 있는 문제들이 많습니다. 가능한 정보/정황들을 부탁합니다.
에러 내용 및 재현 방법 | 재현 가능한 Source와 SQL |
관련 테이블(인덱스, 키정보 포함) 정보 | CUBRID 홈 디렉토리 아래 log 디렉토리 압축 |
-------------- 아래에 질문 사항을 기입해 주세요. ------------------------------------------------------------------------
CUBRID는 Object feature를 가지고 있는 DBMS로 OID를 이용해서 user defined type를 지원하고 있습니다.
user defined type은 만든 table명을 data type으로 사용하는 것을 말합니다.
예를 들어 아래와 같이 table명을 data type으로 사용할 수 있습니다.
create table a (a int, b int);
create table b (aa a);
이때, table a를 생성시 REUSE_OID를 선언하면 table b에서 a data type를 사용할 수 없다는 의미입니다.
그리고, 하나의 raw를 접근할때, OID를 이용해서 접근할 수 있는데, (일반적인 interface (JDBC, ODBC) 함수에서는 사용할 수 있는 함수가 없고, cci를 이용할 경우 가능함) REUSE_OID를 사용한 table에서는 오류가 발생한다는 의미입니다.
또한, CUBRID는 c interface을 이용해서 method(class, instance)를 작성해서 사용할 수 있는데, REUSE_OID가 선언된 table(class)에서는 instance method를 사용할 수 없습니다.
마지막으로 REUSE_OID를 사용한 table로 만든 view는 update시 오류가 발생합니다. (view update시 OID를 이용해서 접근합니다.)