ITPub博客

首页 > 数据库 > Oracle > DBMS_METADATA.GET_DDL的输出怎么显示不全呀?

DBMS_METADATA.GET_DDL的输出怎么显示不全呀?

原创 Oracle 作者:zhouxianwang 时间:2014-01-14 23:31:39 0 删除 编辑


HMBARCODE@ hanmi> SELECT DBMS_METADATA.GET_DDL('TABLE','T_PMAX','HMBARCODE') FROM DUAL;

DBMS_METADATA.GET_DDL('TABLE','T_PMAX','HMBARCODE')
--------------------------------------------------------------------------------

  CREATE TABLE "HMBARCODE"."T_PMAX"
   (    "JEPUM_CODE" CHAR(6) NOT NULL ENABLE,


HMBARCODE@ hanmi>
HMBARCODE@ hanmi> set long 100000
HMBARCODE@ hanmi> set pages 0


HMBARCODE@ hanmi> SELECT DBMS_METADATA.GET_DDL('TABLE','T_PMAX','HMBARCODE') FROM DUAL;

  CREATE TABLE "HMBARCODE"."T_PMAX"
   (    "JEPUM_CODE" CHAR(6) NOT NULL ENABLE,
        "JEJO_NO" VARCHAR2(20) NOT NULL ENABLE,
        "CASE_BARCODE" VARCHAR2(30) NOT NULL ENABLE,
        "MIDDLE_BARCODE" VARCHAR2(30) NOT NULL ENABLE,
        "LARGE_BARCODE" VARCHAR2(30) NOT NULL ENABLE,
        "IPGO_CHECK" CHAR(1),
        "IPGO_DATE" DATE,
        "IPGO_USER" VARCHAR2(255),
        "CHULGO_CHECK" CHAR(1),
        "CHULGO_DATE" DATE,
        "CHULGO_USER" VARCHAR2(255),
        "BANPUM_CHECK" CHAR(1),
        "BANPUM_DATE" DATE,
        "BANPUM_USER" VARCHAR2(255),
        "SALE_CHECK" CHAR(1),
        "SALE_DATE" DATE,
        "SALE_USER" VARCHAR2(255),
        "ITEM_CODE" CHAR(4),
        "POJANG_REC" NUMBER(2,0),
        "STOREHOUSE_CODE" VARCHAR2(3),
        "REG_TM" CHAR(8)
   ) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOC
OMPRESS LOGGING
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2
147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
  TABLESPACE "BARCODE2013"



HMBARCODE@ hanmi>




EXECUTE DBMS_METADATA.SET_TRANSFORM_PARAM(DBMS_METADATA.SESSION_TRANSFORM,'STORAGE',false);
EXECUTE DBMS_METADATA.SET_TRANSFORM_PARAM(DBMS_METADATA.SESSION_TRANSFORM,'REF_CONSTRAINTS',false);
set long 2000000000
set linesize 500
set pagesize 0
spool /home/oracle/create_table.sql;
select dbms_metadata.get_ddl('TABLE','USER') from dual;        
spool off;

如下:

HMBARCODE@ hanmi> EXECUTE DBMS_METADATA.SET_TRANSFORM_PARAM(DBMS_METADATA.SESSION_TRANSFORM,'STORAGE',false);

PL/SQL procedure successfully completed.

HMBARCODE@ hanmi> EXECUTE DBMS_METADATA.SET_TRANSFORM_PARAM(DBMS_METADATA.SESSION_TRANSFORM,'REF_CONSTRAINTS',false);

PL/SQL procedure successfully completed.

HMBARCODE@ hanmi> set long 2000000000
HMBARCODE@ hanmi> set linesize 1500
HMBARCODE@ hanmi> set pagesize 0
HMBARCODE@ hanmi> spool /home/oracle/create_table.sql;
HMBARCODE@ hanmi> SELECT DBMS_METADATA.GET_DDL('TABLE','T_PMAX','HMBARCODE') FROM DUAL;
HMBARCODE@ hanmi> spool off;


将以上内容保存位文件,,通过sqlplus执行该文件,,生成脚本为:/home/oracle/create_table.sql;
其中最开始两句是在生成的脚本中不包含相关信息,,当然还有其他一些自定义设置.

ref:http://www.itpub.net/thread-841660-1-1.html

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/27036311/viewspace-1070639/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2012-06-04

  • 博文量
    144
  • 访问量
    493864