关于选择创建表(CTAS)

问题描述 投票:4回答:2

当我们这样做:

create table big2 as select * from big1;

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

oracle oracle11g
2个回答
8
投票

仅复制NOT NULL约束。参见FAQ

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


0
投票

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

SELECT DBMS_METADATA.get_ddl('INDEX', index_name)
    FROM user_indexes
    WHERE TABLE_NAME = 'BIG1';
© www.soinside.com 2019 - 2024. All rights reserved.