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.