在Oracle中创建具有结钩相同的表


在Oracle中建立表结钩相同或一致的表,其实在许多时候也会派上用场的。方便得很。

例如:存在一张部门表如下:

  1. SQL> select * from dept;  
  2.    
  3. DEPTNO DNAME          LOC  
  4. ------ -------------- -------------  
  5.     50 TRAIN          BOSTON  
  6.     60 MARKET           
  7.     10 ACCOUNTING     NEW YORK  
  8.     20 RESEARCH       DALLAS  
  9.     30 SALES          CHICAGO  
  10.     40 OPERATIONS     BOSTON  
  11.    
  12. rows selected  
  13.   

要建立一张部门表一模一样的表,即是除却表名,其它五脏八俯都一样的表,如下: 

  1. SQL> create table new_dept as select * from dept;  
  2.    
  3. Table created  
  4.    
  5. SQL> select * from new_dept;  
  6.    
  7. DEPTNO DNAME          LOC  
  8. ------ -------------- -------------  
  9.     50 TRAIN          BOSTON  
  10.     60 MARKET           
  11.     10 ACCOUNTING     NEW YORK  
  12.     20 RESEARCH       DALLAS  
  13.     30 SALES          CHICAGO  
  14.     40 OPERATIONS     BOSTON  
  15.    
  16. rows selected  
  17.   

如果你不喜欢新建立的表里的数据。你只须表属性相同即可,你就可增加一个条件:rownum=0或者rownum<1  如下所示: 

  1. SQL> create table new_dept1 as select * from dept where rownum<1;  
  2.    
  3. Table created  
  4.    
  5. SQL> select * from new_dept1;  
  6.    
  7. DEPTNO DNAME          LOC  
  8. ------ -------------- -------------  
  9. SQL>  create table new_dept2 as select * from dept where rownum=0;  
  10.    
  11. Table created  
  12.    
  13. SQL> select * from new_dept2;  
  14.    
  15. DEPTNO DNAME          LOC  
  16. ------ -------------- -------------  

这样的话,有时候在导入数据测试的时候就方便多了。

相关内容