ORACLE复制表结构

时间:2019-01-10 17:16:35 来源:互联网 作者: 神秘的大神 字体:

一般网上的方法:

select * from newtable as select * from oldtable where 1=1;  --复制表结构以及数据按where条件查询出的数据  select * from newtable as select * from oldtable where 1=2;  --只复制表结构

 

但是上面的语法不会复制旧表的默认值、注释、键和索引,因此想要完美的复制表结构就需要先找到旧表的sql语句,然后进行修改,在此记录一下我在PL/SQL上进行的操作;

1. 打开PL/SQL并连接上数据库(本地需配置tnsnames.ora文件);

2. 新建—命令窗口—ed 表名,以此来查看旧表的结构和其他信息,如下图:

3. 然后先点击“刷新”,在点击“查看SQL”,即可查看该表的建表语句(一定要先点击刷新,否则可能不能查看到正确的SQL语句);

4. 复制建表SQL语句到新建的SQL窗口,修改语句中的表名和索引名等,然后点击执行,这样就能完全复制旧表的结构了;之后如果还要复制旧表的数据,就执行下面的语句就好;

insert into 新表 select * from 旧表 ;