DISJOIN TABLE
DISJOIN TABLE#
구문#
disjoin_table ::=#
partition_to_table_clause ::=#
전제 조건#
아래의 조건 중 하나 이상을 만족해야 테이블을 생성할 수 있다.
-
SYS 사용자이다.
-
사용자 자신의 스키마에 테이블을 생성하려면, CREATE TABLE 또는 CREATE ANY TABLE 시스템 권한을 가지고 있어야 한다.
-
다른 사용자의 스키마에 테이블을 생성하려면, CREATE ANY TABLE 시스템 권한을 가지고 있어야 한다.
아래의 조건 중 하나 이상을 만족해야 테이블을 제거할 수 있다.
-
SYS 사용자이다.
-
테이블의 소유자이다.
-
DROP ANY TABLE 시스템 권한을 가진 사용자이다.
설명#
파티션드 테이블의 파티션이 1개 이상의 테이블로 변환된다. 파티션드 테이블은 삭제되고 논 파티션드 테이블이 생성된다. 파티션들은 각각 명시된 테이블로 변환되며 데이터는 이동된다. 테이블 스페이스 옵션을 지정하지 않으면 사용자의 기본 테이블스페이스에 새 테이블이 생성된다.
partition_to_table_clause#
파티션드 테이블의 파티션 이름과 변환할 테이블의 이름을 명시한다.
주의 사항#
DISJOIN TABLE 구문 사용시에 다음과 같은 점에 주의해야 한다.
-
대상 테이블과 생성되는 파티션드 테이블 이름에 소유자를 명시하지 않는다.
-
새로 생성된 파티션드 테이블에 관련된 메타 테이블이 새로 생성되며, 파티션드 테이블로 변환된 대상 테이블 관련 메타 테이블은 모두 삭제된다.
-
대상 테이블과 관련된 PSM, 패키지, 뷰는 사용할 수 없다.
-
해시 파티션드 테이블은 지원하지 않는다.
-
기본 파티션이 생략된 파티션드 테이블은 지원하지 않는다.
-
대상 파티션드 테이블은 파티션의 속성과 제약 조건, 스키마 등을 동일하게 갖는다.
예제#
<질의> 테이블t1의 p1, p2, p3 파티션을 각각 테이블 t2, t3, t4로 변환한다.
iSQL> disjoin table t1
(
partition p1 to table t2,
partition p2 to table t3,
partition p3 to table t4
);
Disjoin success.