表Bのパーティション化句を指定する必要があります.dbms_metadata()を使用してDDLを取得できます。
set long 100000
select dbms_metadata.get_ddl('TABLE','EMP2') from dual
DBMS_METADATA.GET_DDL('TABLE','EMP2')
--------------------------------------------------------------------------------
CREATE TABLE "SCOTT"."EMP2"
( "EMPNO" NUMBER(4,0) NOT NULL ENABLE,
"ENAME" VARCHAR2(10),
"JOB" VARCHAR2(9),
"MGR" NUMBER(4,0),
"HIREDATE" DATE,
"SAL" NUMBER(7,2),
"COMM" NUMBER(7,2),
"DEPTNO" NUMBER(2,0)
) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
STORAGE(
BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE "SYSTEM"
PARTITION BY RANGE ("EMPNO")
(PARTITION "P1" VALUES LESS THAN (7500) SEGMENT CREATION DEFERRED
PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
NOCOMPRESS LOGGING
STORAGE(
BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE "SYSTEM" ,
PARTITION "P2" VALUES LESS THAN (7600) SEGMENT CREATION DEFERRED
PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
NOCOMPRESS LOGGING
STORAGE(
BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE "SYSTEM")
それからちょうど分割してから別のテーブルを作成するためのCREATE TABLE文の
構文でテーブル名を変更...
create table junk
partition by hash(empno) partitions 2
as
select * from emp
where 1=2
は、どのように私は上記のコマンドでそれを指定するのですか? – Lokesh
答えを例で更新しました。 – BobC
これは私が探しているものではありません。私は列名を指定したくない、私は既存のテーブルからそれらをコピーしたい。あなたの構文は、パーティションテーブルを作成するための標準的なものです、私は別のテーブルから構造をコピーすることによってpartitonedテーブルを作成する構文を探しています。 – Lokesh