第一,如果在sql/plus里用命令行,导出某一个表的创建语句,如何导出整个库的或者某一个用户的所有创建表的语句?第二,如果创建一张表,这张表是另两个表的部分字段的合成?

解决方案 »

  1.   

    1.select dbms_metadata.get_ddl('TABLE','table_name','table_owner') from dual
    如果想得到整个库或者某个用户的所有建表DDL语句,就结合dba_tables,再写个过程。2.
    create table xxxx
    as
    select t1.列1,t1.列2,t2.列1,t2.列2 ...
    from t1,t2
      

  2.   

    1。我收藏的,导出表结构
    set pagesize 0 
    set long 90000 
    set feedback off 
    set echo off  
    spool get_allddl.sql  
    connect  USERNAME/PASSWORD@SID;
    SELECT DBMS_METADATA.GET_DDL('TABLE',u.table_name) 
    FROM USER_TABLES u; 
    SELECT DBMS_METADATA.GET_DDL('INDEX',u.index_name) 
    FROM USER_INDEXES u; 
    spool off;
      

  3.   

    第二,如果创建一张表,这张表是另两个表的部分字段的合成? 
    这样:
    create table c as select * from a,b where a.code = b.code;