如何在 Oracle 中不导入数据和约束的情况下复制 table?

how to copy a table without importing data and constraints in Oracle?

我想在不导入数据和约束的情况下,从另一个名为 table1 的 table 创建一个名为 table2 的新 table。我使用了这个查询:

create table2 as select * from table1 where 1=2;

此代码创建 table2 时没有任何数据,但从 table1 导入了约束。有没有办法不从 table1 导入约束?

答案可以在问题create table with select union has no constraints中找到。

如果select是一个联合,Oracle不会添加任何约束,所以只需使用相同的select两次,并确保在第二次select中不包含任何记录]:

create table2 as 
select * from table1 where 1=2
union all
select * from table1 where 1=2;