콘텐츠로 이동

CONJOIN TABLE

CONJOIN TABLE#

구문#

conjoin_table ::=#

row_movement_clause ::=, tablespace_clause ::=, physical_attributes_clause ::=, logging_clause ::=, lob_column_properties ::=

conjoin_range_clause ::=#

range_table_to_partition_clause ::=#

conjoin_list_clause ::=#

list_table_to_partition_clause ::=#

전제 조건#

아래의 조건 중 하나 이상을 만족해야 테이블을 생성할 수 있다.

  • SYS 사용자이다.
  • 사용자 자신의 스키마에 테이블을 생성하려면, CREATE TABLE 또는 CREATE ANY TABLE 시스템 권한을 가지고 있어야 한다.
  • 다른 사용자의 스키마에 테이블을 생성하려면, CREATE ANY TABLE 시스템 권한을 가지고 있어야 한다.

아래의 조건 중 하나 이상을 만족해야 테이블을 제거할 수 있다.

  • SYS 사용자이다.
  • 테이블의 소유자이다.
  • DROP ANY TABLE 시스템 권한을 가진 사용자이다.

설명#

1개 이상의 논 파티션드 테이블을 파티션드 테이블로 변환한다. 논 파티션드 테이블은 삭제되고 파티션드 테이블은 생성된다. 테이블들은 각각 명시된 파티션으로 변환되며 데이터는 이동한다. 테이블스페이스 옵션을 지정하지 않으면 사용자의 기본 테이블스페이스에 새 파티션드 테이블이 생성된다.

conjoin_range_clause#

논 파티션드 테이블이 범위 파티션드 테이블로 변환된다.

conjoin_list_clause#

논 파티션드 테이블이 리스트 파티션드 테이블로 변환된다.

range_table_to_partition#

범위 파티션드 테이블로 변환할 대상인 논 파티션드 테이블 이름과 변환할 파티션 이름을 명시한다.

list_table_to_partition#

리스트 파티션드 테이블로 변환할 대상인 논 파티션드 테이블 이름과 변환할 파티션 이름을 명시한다.

주의 사항#

  • 대상 테이블과 생성되는 파티션드 테이블 이름 앞에 소유자 이름을 붙이지 않는다.
  • 파티션으로 이동한 데이터는 파티션 키 조건에 맞지 않을 수 있다.
  • 새로 생성된 파티션드 테이블에 관련된 메타 테이블이 새로 생성되며, 파티션드 테이블로 변환된 대상 테이블의 관련 메타 테이블은 모두 삭제된다.
  • 대상 테이블과 관련된 PSM, 패키지, 뷰는 사용할 수 없다.
  • 해시 파티션드 테이블은 지원하지 않는다.
  • 기본 파티션이 생략된 파티션드 테이블은 지원하지 않는다.
  • 생성되는 파티션드 테이블의 스키마는 대상 테이블의 스키마와 동일해야 한다. 대상 테이블은 칼럼 개수와 이름, 순서와 자료형, in row와 compressed logging 옵션, CHECK 및 NOT NULL 제약조건이 전부 동일해야 한다.
  • 대상 테이블에 숨은 칼럼과 보안 칼럼과 압축 칼럼이 없어야 한다.
  • 대상 테이블에 이벤트로 동작하는 트리거가 없어야 한다.

예제#

<질의> 테이블 t1과 t2를 리스트 파티션드 테이블 t3으로 변환한다.

iSQL> conjoin table t3
partition by list(i1)
(
  table t1 to partition p1 values (1,2,3,4,5),
  table t2 to partition p2 values default
)
tablespace tbs3;
Conjoin success.