一般网上的方法:
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 旧表 ;