ITPub博客

首页 > Linux操作系统 > Linux操作系统 > sqlplus格式化输出一例-zt

sqlplus格式化输出一例-zt

原创 Linux操作系统 作者:spritesong 时间:2009-03-29 19:59:39 0 删除 编辑

做了一个简单的get_ddl的测试发现信息输出不全

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

DBMS_METADATA.GET_DDL('TABLE','T')
--------------------------------------------------------------------------------

  CREATE TABLE "SYS"."T"
   (    "X" NUMBER(*,0),
        "Y" DATE,
        "Z" CLOB,
         PRIM

怎么解决这个问题呢?
打入如下sqlplus格式化的命令
set serveroutput on size 1000000
set trimspool on
set long 5000
set linesize 100
set pagesize 9999

再次执行一次

SQL> set serveroutput on size 1000000
SQL> set trimspool on
SQL> set long 5000
SQL> set linesize 100
SQL> set pagesize 9999
SQL> /

DBMS_METADATA.GET_DDL('TABLE','T')
--------------------------------------------------------------------------------

  CREATE TABLE "SYS"."T"
   (    "X" NUMBER(*,0),
        "Y" DATE,
        "Z" CLOB,
         PRIMARY KEY ("X")
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
  TABLESPACE "SYSTEM"  ENABLE
   ) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
  TABLESPACE "SYSTEM"
 LOB ("Z") STORE AS (
  TABLESPACE "SYSTEM" ENABLE STORAGE IN ROW CHUNK 8192 PCTVERSION 10
  NOCACHE LOGGING
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT))

结果显示正确,其实关键是set long 5000这个格式化命令提示,我们都知道long值默认为80,设置1000是为了显示更多的内容,因为很多数据字典视图中用到了long数据类型.

基本上就是这样.

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

下一篇: 启用autotrace功能
请登录后发表评论 登录
全部评论

注册时间:2009-03-28

  • 博文量
    62
  • 访问量
    23967