Open Source RDBMS - Seamless, Scalable, Stable and Free

한국어 | Login |Register

Versions available for this page: CUBRID 8.4.3 |  CUBRID 9.0.0 | 

칼럼 정의 및 변경

설명

CREATE TABLE 문 또는 ALTER TABLE 문을 사용하여 BLOB/CLOB 타입 칼럼을 생성/추가/삭제할 수 있다.

참고 사항
  • LOB 타입 칼럼에 대해서는 인덱스를 생성할 수 없다.
  • LOB 타입 칼럼에 대해서는 PRIMARY KEY, FOREIGN KEY, UNIQUE, NOT NULL 제약 조건을 정의할 수 없다. 또한, SHARED 속성을 정의할 수 없으며, DEFAULT 속성은 NULL 값에 대해서만 정의할 수 있다.
  • LOB 타입 칼럼/데이터는 컬렉션 타입의 원소가 될 수 없다.
  • LOB 타입 칼럼이 있는 레코드를 삭제하는 경우, LOB 칼럼 값(Locator) 및 외부 저장소 내 파일을 모두 삭제한다. 또한, 기본 키 테이블에서 LOB 타입 칼럼이 있는 레코드가 삭제됨에 따라 이를 참조하는 외래 키 테이블의 레코드가 함께 삭제되는 경우, LOB 칼럼 값(Locator) 및 외부 저장소 내 LOB 파일을 모두 삭제한다. 단, ALTER TABLE ... DROP 문을 사용하여 LOB 칼럼을 삭제하거나 DROP TABLE 문을 사용하여 해당 테이블을 삭제하는 경우, LOB 칼럼 값(Lob locator)만 삭제하고 LOB 칼럼이 참조하는 외부 저장소 내 LOB 파일은 삭제하지 않는다.
예제

-- creating a table and CLOB column

CREATE TABLE doc_t (doc_id VARCHAR(64) PRIMARY KEY, content CLOB);

 

-- an error occurs when UNIQUE constraint is defined on CLOB column

ALTER TABLE doc_t ADD CONSTRAINT content_unique UNIQUE(content);

 

-- an error occurs when creating an index on CLOB column

CREATE INDEX ON doc_t (content);

 

-- creating a table and BLOB column

CREATE TABLE image_t (image_id VARCHAR(36) PRIMARY KEY, doc_id VARCHAR(64) NOT NULL, image BLOB);

 

-- an error occurs when adding a BOLB column with NOT NULL constraint

ALTER TABLE image_t ADD COLUMN thumbnail BLOB NOT NULL;

 

-- an error occurs when adding a BLOB column with DEFAULT attribute

ALTER TABLE image_t ADD COLUMN thumbnail2 BLOB DEFAULT BIT_TO_BLOB(X'010101');