我想使用分区表的CTAS创建一个表。 新表必须具有旧表的所有数据和分区,子分区。 怎么做?
答案 0 :(得分:1)
您需要首先使用所有分区创建新表,否则无法将分区定义添加到CTAS。创建表后,您可以使用insert into .. select
填充表。
您可以使用dbms_metadata.get_ddl
来获取旧表的定义。
select dbms_metadata.get_ddl('TABLE', 'NAME_OF_EXISTING_TABLE')
from dual;
将其输出保存到脚本中,执行搜索并替换以调整表名,然后运行create table
,然后运行insert into ... select ...