服务器 频道

使用SQL*PLUS构建完美excel或html输出

  【IT168 服务器学院】通过SQL*PLUS我们可以构建友好的输出,满足多样化用户需求。

  本例通过简单示例,介绍通过sql*plus输出xls,html两种格式文件.
  
  首先创建两个脚本:
  1.main.sql
  用以设置环境,调用具体功能脚本
  
  2.功能脚本-get_tables.sql
  为实现具体功能之脚本
  
  通过这样两个脚本可以避免spool中的冗余信息.
  
  示例如下:
  1.main.sql脚本:
  

  [oracle@jumper utl_file]$ more main.sql
  set linesize 200
  set term off verify off feedback off pagesize 999
  set markup html on entmap ON spool on preformat off
  spool tables.xls
  @get_tables.sql
  spool off
  exit

  2.get_tables.sql脚本: 

  [oracle@jumper utl_file]$ more get_tables.sql
  select owner,table_name,tablespace_name,blocks,last_analyzed
  from all_tables order by 1,2;

  3.执行并获得输出:

  [oracle@jumper utl_file]$ sqlplus "/ as sysdba" @main
  
  SQL*Plus: Release 9.2.0.4.0 - Production on Mon Apr 25 10:30:11 2005
  
  Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
  
  
  Connected to:
  Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
  With the Partitioning option
  JServer Release 9.2.0.4.0 - Production
  
  Disconnected from Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
  With the Partitioning option
  JServer Release 9.2.0.4.0 - Production
  [oracle@jumper utl_file]$ ls -l tables.xls
  -rw-r--r-- 1 oracle dba 69539 Apr 25 10:30 tables.xls
  [oracle@jumper utl_file]$

  此处输出为xls文件,通过下图我们可以看到输出效果:

  把main.sql脚本中的,spool tables.xls更改为spool tables.htm,我们可以获得htm格式输出,效果如下图:



0
相关文章