一般网上的方法:
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 旧表 ;
如对本文有疑问, 点击进行留言回复!!
Oracle 基本概念 Dadabase,schema,user,table...
dbeaver连接Oracle中文乱码的解决方案--druid
Oracle常用语句(时间格式、去重、去特殊符号、查询表空间等)
网友评论