关于create table as select(CTAS)

时间:2011-10-17 19:44:20

标签: oracle oracle11g

当我们这样做时:

create table big2 as select * from big1;

是否还将索引和约束复制到新表中?

2 个答案:

答案 0 :(得分:8)

仅复制NOT NULL约束。请参阅FAQ

您可以CREATE TABLE big2 (bigid PRIMARY KEY) AS SELECT * FROM big1创建主键,但是,对于您要复制并运行索引创建脚本的其他索引。

答案 1 :(得分:0)

仅供参考,有一种简单的方法可以在删除源表后记住索引以重新创建它们:

SELECT DBMS_METADATA.get_ddl('INDEX', index_name)
    FROM user_indexes
    WHERE TABLE_NAME = 'BIG1';