select dbms_metadata.get_ddl('TABLE','T') from dual;

解决方案 »

  1.   

    set pagesize 0
    set long 90000
    set feedback off
    set echo off
    spool schema.sql
    connect scott/tiger;
    SELECT DBMS_METADATA.GET_DDL('TABLE',u.table_name) FROM USER_TABLES u;
    spool off;
      

  2.   


    不行啊,SQL> select dbms_metadata.get_ddl('TABLE','T') from dual;
    ERROR:
    ORA-31603: object "T" of type TABLE not found in schema "USERTEST"
    ORA-06512: at "SYS.DBMS_METADATA", line 2625
    ORA-06512: at "SYS.DBMS_METADATA", line 2668
    ORA-06512: at "SYS.DBMS_METADATA", line 2983
    ORA-06512: at "SYS.DBMS_METADATA", line 3897
    ORA-06512: at "SYS.DBMS_METADATA", line 5678
    ORA-06512: at line 1
      

  3.   

    dbms_metadata.get_ddl
    查一下这个怎么用
      

  4.   

    你的意思是sqlplus下导出所有的表吗?
      

  5.   

    spool 你想要导入的目录/schema.sql
    conn user/password;
    SELECT DBMS_METADATA.GET_DDL('TABLE',u.table_name) FROM USER_TABLES u;
    spool off;