Oracle 表复制

1. INSERT INTO SELECT

1.1. 语法

1
2
insert into Table2(field1,field2,...) select value1,value2,... from Table1
insert into Table2 select * from Table1

1.2. 注意

  • 目标表 Table2 必须存在,并且字段 field,field2… 也必须存在
  • 注意 Table2 的主键约束,如果 Table2 有主键而且不为空,则 field1, field2… 中必须包括主键

2. SELECT INTO FROM

2.1. 语法

1
select vale1, value2 into Table2 from Table1

2.2. 注意

  • 目标表 Table2 不存在,因为在插入时会自动创建表 Table2,并将 Table1 中指定字段数据复制到 Table2 中

3. CREATE AS SELECT

3.1. 语法

1
create Table2 as select vale1, value2 from Table1

3.2. 注意

  • 只会复制表数据和表结构,不会有任何约束以及默认值等
  • 可以使用 where 条件过滤,但 where 条件不成立时,只复制表结构,无数据