前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Oracle中数据导出成HTML的操作实践

Oracle中数据导出成HTML的操作实践

作者头像
bisal
发布2023-05-20 14:23:07
3860
发布2023-05-20 14:23:07
举报

spool是Oracle中将数据到成文件常用的一种工具,但它的强大,不仅仅是数据的导出,在格式和内容上,还可以自定义,甚至生成像AWR一样的统计报告。

参考《SQL*Plus® User's Guide and Reference》中第7章"Generating HTML Reports from SQL*Plus"讲解的内容,可以有所了解。

P.S. 链接:

https://docs.oracle.com/cd/B19306_01/server.102/b14357/ch7.htm#CHDCECJG

提到了生成HTML格式的操作,

In addition to plain text output, the SQL*Plus command-line interface enables you to generate either a complete web page, or HTML output which can be embedded in a web page. You can use SQLPLUS -MARKUP "HTML ON" or SET MARKUP HTML ON SPOOL ON to produce complete HTML pages automatically encapsulated with and  tags. By default, data retrieved with MARKUP HTML ON is output in HTML, though you can optionally direct output to the HTML tag so that it displays in a web browser exactly as it appears in SQL*Plus. See the SQLPLUS MARKUP Options and the SET MARKUP command for more information about these commands. SQLPLUS -MARKUP "HTML ON" is useful when embedding SQLPlus in program scripts. On starting, it outputs the HTML and BODY tags before executing any commands. All subsequent output is in HTML until SQLPlus terminates. The -SILENT and -RESTRICT command-line options may be effectively used with -MARKUP to suppress the display of SQL*Plus prompt and banner information, and to restrict the use of some commands. SET MARKUP HTML ON SPOOL ON generates an HTML page for each subsequently spooled file. The HTML tags in a spool file are closed when SPOOL OFF is executed or SQL*Plus exits. You can use SET MARKUP HTML ON SPOOL OFF to generate HTML output suitable for embedding in an existing web page. HTML output generated this way has no  or  tags.

通过这个例子,可以看到,通过嵌入HTML的标签,以及自定义内容,结合SQL语句,生成了HTML的文件,

代码语言:javascript
复制
SQL> SET MARKUP HTML ON SPOOL ON PREFORMAT OFF ENTMAP ON HEAD "<TITLE>Department Report</TITLE> <STYLE type='text/css'> <!-- BODY {background: #FFFFC6} --> </STYLE>" BODY "TEXT='#FF00Ff'" TABLE "WIDTH='90%' BORDER='5'"
SQL&gt; COLUMN DEPARTMENT_NAME HEADING 'DEPARTMENT' ENTMAP OFF
COLUMN CITY HEADING 'CITY'<br>
SQL&gt;
<br>
SQL&gt; SPOOL report.html
<br>
SQL&gt; SELECT '<A HREF="http://oracle.com/'||DEPARTMENT_NAME||'.html">'||DEPARTMENT_NAME||'</A>' DEPARTMENT_NAME, CITY
FROM EMP_DETAILS_VIEW
WHERE SALARY>12000; <br>
  2  <br>
  3
<br>
<p>
<table WIDTH='90%' BORDER='5'>
<tr>
<th scope="col">
DEPARTMENT
</th>
<th scope="col">
CITY
</th>
</tr>
<tr>
<td>
<A HREF="http://oracle.com/Executive.html">Executive</A>
</td>
<td>
Seattle
</td>
</tr>
<tr>
<td>
<A HREF="http://oracle.com/Executive.html">Executive</A>
</td>
<td>
Seattle
</td>
</tr>
<tr>
<td>
<A HREF="http://oracle.com/Executive.html">Executive</A>
</td>
<td>
Seattle
</td>
</tr>
<tr>
<td>
<A HREF="http://oracle.com/Finance.html">Finance</A>
</td>
<td>
Seattle
</td>
</tr>
<tr>
<td>
<A HREF="http://oracle.com/Sales.html">Sales</A>
</td>
<td>
Oxford
</td>
</tr>
<tr>
<td>
<A HREF="http://oracle.com/Sales.html">Sales</A>
</td>
<td>
Oxford
</td>
</tr>
<tr>
<td>
<A HREF="http://oracle.com/Marketing.html">Marketing</A>
</td>
<td>
Toronto
</td>
</tr>
<tr>
<td>
<A HREF="http://oracle.com/Accounting.html">Accounting</A>
</td>
<td>
Seattle
</td>
</tr>
</table>
<p>
 
 
8 rows selected.<br>
<br>
 
 
 
 
SQL&gt; SPOOL OFF
<br>

下载到Windows机器上,用浏览器打开,能看到这个界面,

4673dc2d07c53d1ecdcb527d73e49e17.png
4673dc2d07c53d1ecdcb527d73e49e17.png

通过这个spool小工具,我们可以实现很多的需求,成本很低,因此,像这些功能都是我们国产数据库值得借鉴学习的,毕竟数据库是让用户使用的,提供用户不同个性化、简洁的、易用的功能,就可以吸引用户,至少能让用户更加顺畅地用这款产品,所谓从客户出发,为客户着想,受益的可能不仅仅是客户自己了。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023-05-19 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档