zoukankan      html  css  js  c++  java
  • day13_spool导出

    1,excel
    vi lipengfei.sh

    #!/bin/bash

    /oracle/app/oracle/product/10.2.0/db_1/bin/sqlplus -S scott/lipengfei <<EOF 

    set linesize 200 

    alter session set nls_date_format='yyyy-mm-dd'

    set term off verify off feedback off pagesize 30000 

    set markup html on entmap ON spool on preformat off

    spool /home/oracle/result.xls

    select * from emp;

    spool off 

    exit;
            
    EOF






    chmod 777 lipengfei.sh 

    lcd d:


    get /home/oracle/result.xls


    2,html

    下面来简单讲讲怎么利用SQLPLUS来生成HTML报表


    一:首先在SQLPLUS中设置
    set mark html on spool on  entmap off  pre off

    这样设置过后,利用spool 导出为html,SQLPLUS将会自动的为我们创建HTML格式,
    注意:如果设置pre 为on,那么输出的不是HTML格式,默认为off,
    entmap 默认为on ,它会将>换成HTML中的&gt来显示,所以我将其设置为off

    二:为了格式化输出,我们需要对输出内容格式化
    set echo off                         这样设置之后不会在HTML报表中显示执行过的SQL语句
    set feedback off                  这样设置过后不会在HTML报表中显示已经处理多少行
    set heading on                   设置标题显示
    set termout off                    关闭在屏幕上的输出,这样可以加快spool执行速度
    set linesize 200                 设置行宽度为120
    set pagesize 1000             设置一页显示1000行
    set trimout off                    去掉 每行后面多余的空格

    三:利用spool 输出为 *.html
    spool c:/test.html

    四:写下要执行的SQL语句

    五:spool off

    例如要查询表空间利用率,并将结果输出为HTML报表格式:
    将下面的语句保存为一个SQL脚本,然后在SQLPLUS中调用






    vi lipengfei.sh


    #!/bin/bash

    /oracle/app/oracle/product/10.2.0/db_1/bin/sqlplus -S sys/lipengfei as sysdba <<EOF 

    SET MARKUP HTML ON SPOOL ON pre off entmap off
    SET ECHO OFF
    SET TERMOUT OFF
    SET TRIMOUT OFF
    set feedback off
    set heading on
    set linesize 200
    set pagesize 10000
    col tablespace_name format a15
    col total_space format a10
    col free_space format a10
    col used_space format a10
    col used_rate format 99.99

    spool /home/oracle/tablespace.html

    select a.tablespace_name,a.total_space_Mb||'m' total_space,b.free_space_Mb||'m'
    free_space,a.total_space_Mb-b.free_space_Mb||'m' used_space,
    (1-(b.free_space_Mb/a.total_space_Mb))*100 used_rate,a.total_blocks,b.free_blocks from                    
    (select tablespace_name,sum(bytes)/1024/1024 total_space_Mb,sum(blocks) total_blocks from dba_data_files
    group by tablespace_name) a,
    (select tablespace_name, sum((bytes)/1024/1024) free_space_Mb,sum(blocks) free_blocks from dba_free_space
    group by tablespace_name) b
    where a.tablespace_name=b.tablespace_name order by used_rate desc;

    spool off 

    exit;

    EOF


    chmod 777 lipengfei.sh 

    lcd d:

    get /home/oracle/tablespace.html

    3,txt
    vi lipengfei.sh


    #!/bin/bash

    /oracle/app/oracle/product/10.2.0/db_1/bin/sqlplus -S scott/lipengfei <<EOF 

    set serveroutput on;
    set timing on;
    SET HEADING OFF 
    SET SPACE 0 
    SET PAGESIZE 0 
    SET TRIMOUT ON 
    SET TRIMSPOOL ON 
    SET LINESIZE 2500
    set feedback off;

    spool /home/oracle/result.txt

    select DEPTNO||','||DNAME||','||LOC from dept t;

    spool off 

    exit;

    EOF


    chmod 777 lipengfei.sh 

    lcd d:

    get /home/oracle/result.txt





  • 相关阅读:
    QQ恢复解散后的群聊或删除后的好友的方法
    微软双屏手机Surface Duo曝新料
    利用Travis CI+GitHub实现持续集成和自动部署
    利用echarts展示旅行足迹
    03_K近邻算法
    02_感知机算法
    《面试官之你说我听》:简明的图解Redis RDB持久化、AOF持久化
    【绝对有收获】看看?必须告诉你为什么要使用MQ消息中间件(图解版)
    推荐收藏系列:一文理解JVM虚拟机(内存、垃圾回收、性能优化)解决面试中遇到问题(图解版)
    利用window.performance.timing进行性能分析
  • 原文地址:https://www.cnblogs.com/xiaoxiao5ya/p/95dc45167a46fdcd95922b3581b88f53.html
Copyright © 2011-2022 走看看