最近由于工作原因,需要把sqlplus里面SQL结果输出到html里面去,本来想用PLSQL Developer这个工具的,但是想到不是每个环境都是可以安装的,所以就研究了一下。

通过研究发现原来oracle是有这方面介绍的。在oracle文档中

SQL*Plus User's Guide and Reference=》7 Generating HTML Reports from SQL*Plus这章就有介绍

文档中有个例子:

SET MARKUP指明SQL*Plus输出HTML编码格式,必须使用SET MARKUP HTML ON SPOOL ON和SQL*Plus SPOOL命令去创建一个spool文件,并且以HTML格式输出。SET MARKUP习惯称作SQLPLUS -MARKUP命令。

在sqlplus里面我们输入help set就能看到相关语法

HTML [ON|OFF]:

指定是否生成HTML格式,ON生成,OFF不生成,默认是OFF。

HEAD text:

指定HTML中HEAD标签中的内容,默认情况下,文本包括级联样式和标题。

BODY text:

指定HTML中BODY标签属性

TABLE text:

设置

ENTMAP {ON|OFF}:

指定在SQL * Plus中是否用HTML字符实体如<, >, " and &等替换特殊字符, " and & 。默认    设置是ON。例如:

SPOOL {ON|OFF}:

指定是否在SQL*Plus生成HTML标签 和

, 和。默认是OFF。

PRE[FORMAT] {ON|OFF}指定SQL*Plus生成HTML时输出

标签还是HTML表格,默认是OFF,因此默认输出是写HTML表格。

上面的属性我们常用的也就那几个,下面我给大家做一个我自己的例子,这个例子可以接受控制台的参数,也可以接受sql运行结果当参数。

SET markup html ON spool ON pre off entmap off

set term off

set heading on

set verify off

set feedback off

set linesize 2000

set pagesize 30000

set long 999999999

set longchunksize 999999

column id format a30

column super_id format a30

column levels format 9999999999

column table_name format a30

column owner format a30

set term on

prompt "input schema:" --从控制台接受变量值

define S_SCHEMA=&SCHEMA

set term off

column dbid new_value spool_dbid --列dbid值给变量spool_dbid

column inst_num new_value spool_inst_num

select dbid from v$database where rownum = 1; --给dbid赋值

select instance_number as inst_num from v$instance where rownum = 1;

column spoolfile_name new_value spoolfile

select 'spool_'||(select name from v$database where rownum=1) ||'_'|| (select instance_name from v$instance where rownum=1)

||'_'||to_char(sysdate,'yy-mm-dd_hh24.mi')||'_static' as spoolfile_name from dual;

spool &&spoolfile..html

prompt

版本

select t.id,t.super_id,t.levels from T1 t;

prompt

整个用户有多大 单位GB

select sum(bytes)/1024 /1024 /1024 "GB"

from dba_segments

where owner = '&S_SCHEMA';

prompt

测试

select t.id,t.super_id,t.levels from T1 t;

spool off;

oracle 控制html输出样式,Oracle之sqlplus输出到html相关推荐

  1. oracle控制文件的复用,ORACLE 10g ASM 控制文件多路复用

    1> 检查数据库,查看控制文件存放路径 SQL> startup ORACLE instance started. Total System Global Area  230686720 ...

  2. oracle控制文件全备失败,Oracle数据库案例整理-恢复数据库失败-主备机控制文件所在目录不同...

    1.1       现象描述 使用主机节点的控制文件在备机节点上进行恢复时失败. ·         主节点控制文件目录为:"/opt/HUAWEI/cgp/workshop/omu/dat ...

  3. oracle ERP凭证打印样式,Oracle ERP二次开发中特色鲜明的Web打印模式设计与实现

    0背景随着宽带网络的普及和推广,基于浏览器的B/S结构的应用程序越来越多,客户端免安装.免配置.免维护.免升级;服务器端则采用多层模式,将表示层.商业逻辑层和数据层分开,极大的提髙了开发的效率和数据的 ...

  4. oracle 控制文件在哪里设置_从Oracle到PostgreSQL:最全控制文件

    原文: 从Oracle到PostgreSQL:最全控制文件(上) https://www.enmotech.com/web/detail/1/770/1.html 从Oracle到PostgreSQL ...

  5. 指南:在 linux 下的 Oracle Database 11g 中安装 Oracle Enterprise Manager 10g Grid Control 第 5 版

    原文地址:http://www.oracle.com/technetwork/cn/articles/revitt-oem-096363-zhs.html 作者:Mike Revitt 逐步详解如何针 ...

  6. oracle控制文件的损坏或完全丢失的恢复办法

    控制文件丢失了,需要DBA处理.     1,控制文件大小不对.  将正常的cp给不正常的.指定正确的来运行.     2,控制文件版本不对   千万要记住要先cp全部的控制文件备份后在来cp    ...

  7. oracle控制文件修复,oracle控制文件的损坏或完全丢失的恢复办法

    控制文件丢失了,需要DBA处理. 1,控制文件大小不对.  将正常的cp给不正常的.指定正确的来运行. 2,控制文件版本不对   千万要记住要先cp全部的控制文件备份后在来cp 3,控制文件某个丢失, ...

  8. oracle12c中dump控制文件,oracle控制文件转储说明

    #环境 os:centos 6.6 x64 db version:11.2.0.4.0 #转储控制文件 [oracle@ct6605 trace]$ sqlplus / as sysdba #可以使用 ...

  9. 复用Oracle数据文件,Oracle控制文件的备份、恢复以及多路复用

    前言 今天给大家带来有关Oracle控制文件的技术分享.不积跬步无以至千里,不积小流无以成江海.Oracle技术博大精深,以我一个人的力量,那无异于蜉蝣于天地,沧海之一粟.在此,笔者抛砖引玉,希望读者 ...

最新文章

  1. java 线程池(2)
  2. 如何在 Ubuntu server 中设置 RainLoop Webmail
  3. Servlet/jsp和Action/jsp传值
  4. 姚期智:人工智能存在三大技术瓶颈
  5. spring AOP 取得web的session
  6. 易语言执行linux脚本,初识易语言到编写SHELL生成器
  7. LeetCode 1567. 乘积为正数的最长子数组长度
  8. JS--Console.log()详解
  9. sublime text3 中 python3编译出现中文乱码解决方法
  10. 面试准备每日五题:C++(六)——CC++、staticconstextern、sizeof strlen、指针引用、数组指针指针数组函数指针
  11. 上海雄联机械配件有限公司
  12. leetcode 【 Sort Colors 】python 实现
  13. NOIP2016提高A组 B题 【HDU3072】【JZOJ4686】通讯
  14. 二进制,八进制,十六进制,十进制之间的换算
  15. DbgView不能显示OutputDebugString的输出内容
  16. 华中师范大学计算机专硕和学硕,学硕?专硕?该如何选
  17. 15 离群点和高杠杆率点
  18. linux mt命令,几种操作系统mt命令比较
  19. Polychain重仓的Findora公链,想带领DeFi脱虚向实
  20. PCB与PE(大地)相连技术文章

热门文章

  1. 2017.10.7 括号序列 思考记录
  2. Intel 64/x86_64/x86/IA-32处理器标志寄存器详解(2) - 32位EFLAGS - 80386(386, Intel386)/80486(486, Intel486)
  3. Intel超线程技术 Hyper-Threading Technology (2) - 早期实现 - 概述
  4. 个人对于MySQL的理解_面试官:谈谈你对Mysql的MVCC的理解?
  5. 进程相关概念与多线程的基本使用
  6. 打造含有 Mali Graphics Debugger 支持的虚幻引擎应用程序
  7. GPU Raycasting的两种实现方法
  8. linux6.5+5.4 vncserver配置
  9. 后端http缓存策略
  10. 动态规划求解所有字符的组合数