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