Oracle中复制表结构和表数据
1. 复制表结构及其数据(目标表不存在):
create table table_name_new as select * from table_name_old;
2. 只复制表结构(目标表不存在,加入一个永远不可能成立的条件。):
create table table_name_new as select * from table_name_old where 1=2;
3. 只复制表数据(目标表已经存在):
如果两个表结构一样:
insert into table_name_new select * from table_name_old;
如果两个表结构不一样:
insert into table_name_new(column1,column2...)
select column1,column2... from table_name_old;
4. 将多个表数据插入一个表中:
insert into table_name_new(column1,column2...)
(select column1,column2... from table_name_old1) union all
(select column1,column2... from table_name_old2);
注意:这样做有个很大的弊端,就是不能将原表中的default value也一同迁移过来,也不能将原表的索引和主外键关系等复
制过来。
本文出自 “技术随笔” 博客,请务必保留此出处http://chengjiwang.blog.51cto.com/6263050/1407504