select dbms_metadata.get_ddl('TABLE','DEPT') from dual; 
把dept换成你自己的table,table name要大写。

解决方案 »

  1.   

    SQL> select dbms_metadata.get_ddl('TABLE','AAA_TEST','SCOTT') from dual;DBMS_METADATA.GET_DDL('TABLE','AAA_TEST','SCOTT')
    --------------------------------------------------------------------------------  CREATE TABLE "SCOTT"."AAA_TEST"
       ( "ID" NUMBER,
    "USERNAME" VARCHAR2(64),
    SQL> 为什么还是不能显示出所以的建表语句呢?
      

  2.   

    你想要什么?只是显示形式而已,可以利用下面语句建表。
    declare
    v_sql varchar2(2000);
    begin 
    v_sql:='CREATE TABLE "SCOTT"."AAA_TEST"
       (  "ID" NUMBER,
    "USERNAME" VARCHAR2(64))
    ';
      execute IMMEDIATE v_sql;
    end;
      

  3.   


    这个表AAA_TEST完整的建表的sql语句。
    create table .....
      

  4.   

    1.select dbms_metadata.get_ddl('TABLE','DEPT') from dual; 
    这个语句其实得到了建表语句,只是形式上是ddl形式的,多了引号和用户名而已,
    上面写给你的是如何调用那个ddl语句;
    你得到语句不就是为了调用,用他来建表吗?3楼就告诉你如何调用得到ddl语句来
    建表(注意里面scott是用户,要根据情况修改)。
    2.你说的那种形式,可以plsql软件里面实现。
    选择你需要的表(tables),右键查看(view),最右下角有view sql,点击
    就可以查看到你要的那种sql。
      

  5.   

    1,得到建表语句是为了在另外一个oracle环境里面建表。SQL> select dbms_metadata.get_ddl('TABLE','AAA_TEST','SCOTT') from dual;DBMS_METADATA.GET_DDL('TABLE','AAA_TEST','SCOTT')
    --------------------------------------------------------------------------------  CREATE TABLE "SCOTT"."AAA_TEST"
       ( "ID" NUMBER,
    "USERNAME" VARCHAR2(64),
    SQL>
    这种方式为什么只能显示一部分啊?不能显示全部的呢?
      

  6.   

    第二种方式:
    2.你说的那种形式,可以plsql软件里面实现。
    选择你需要的表(tables),右键查看(view),最右下角有view sql,点击
    就可以查看到你要的那种sql。这种可以得到,谢谢指点啊。
      

  7.   

    PLSQL查询出来是显示不全的,点击查询结果右边的...按钮,就可以看到全部。
    如果没问题,顺便把帖子结了。