就是根据数据库里原有的一张表结构,再建一张一摸一样的表,只是表名不同,
怎么用一条SQL语句实现?

解决方案 »

  1.   

    create table tablename 
    as select * from tablesourcename
      

  2.   

    create table tablename 
    as select * from tablesourcename where 1=0
    这样只复制结构,不复制数据
      

  3.   

    复制表
    create table ttt as (select * from a);
      

  4.   

    只是结构的话,可以通过create table tablename as select * from table;实现。
    但是,这样只能够复制数据和结构。表中用到的分区和索引以及主外件等,都需要重新建的。
      

  5.   


    还快哟。上面的可以复制表的字段定义以及表中的数据,不过最好的方式还是通过dbms)metadata.get_ddl('TABLE', 'Tablename', 'schemaname')获得sql,修改后新建table。然后在使用insert table tablename select * from originalTablename;上面建了和结构一样,下面保证数据一样。
      

  6.   

    create table new_table 
    as
    select * from old_table
      

  7.   


    create table 新表名
    as
    select 子句;例如;
    create table table_newname
    as
    select * from table_oldname