PL/SQL中应该也有类似Sql Server中使用已经建立的表自动生成建表的SQL脚本的功能吧,怎么操作???

解决方案 »

  1.   

    可以看看dbms_metadata.get_ddl这个方法
      

  2.   


    可以参考下:ORACLE如何使用DBMS_METADATA.GET_DDL获取DDL语句
    http://space.itpub.net/283894/viewspace-368965
      

  3.   

    给你举个例子吧
    查询SCOTT用户下的DEPT表
    SQL> select dbms_metadata.get_ddl('TABLE','DEPT','SCOTT') from dual;DBMS_METADATA.GET_DDL('TABLE','DEPT','SCOTT')
    --------------------------------------------------------------------------------
      CREATE TABLE "SCOTT"."DEPT"
       (    "DEPTNO" NUMBER(2,0),
            "DNAME" VARCHAR2(14),
            "LOC" VARCHAR2(13),
             CONSTRAINT "PK_DEPT" PRIMARY KEY ("DEPTNO")
      USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE
     STATISTICS
      STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147
    483645
      PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)DBMS_METADATA.GET_DDL('TABLE','DEPT','SCOTT')
    --------------------------------------------------------------------------------  TABLESPACE "USERS"  ENABLE
       ) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NO
    COMPRESS LOGGING
      STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS
    2147483645
      PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
      TABLESPACE "USERS"