用Oracle的SQL*Plus工具创建HTML页面<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
作者:Fenng
Oracle的SQL*Plus工具有一些比较有趣的选项,合理的使用,能够给我们意想不到的后果。其中有一个”-M”选项能够创建用来创建HTML报表,在实际应用中很有用处。我们先来看看SQL*Plus(Oracle 8i)的一些选项:
C:\>SQLPLUS -
用法: SQLPLUS [ [<option>] [<logon>] [<start>] ]
其中 <option> ::= - | -? | [ [-M <o>] [-R <n>] [-S] ]
<登录> ::= <用户名>[/<口令>][@<connect_string>] | / | /NOLOG
<启动> : : = @<文件名>[.<ext>] [<参数> ...]
"-"显示使用语法
"-?"显示 SQL*Plus 版本标帜
"-M <o>" 使用 HTML 标志选项 <o>
"-R <n>" uses restricted mode <n>
"-S" uses silent mode
”-M”选项指定在输出的时侯使用HTML标记来输出数据,用以代替普通的文本。
其中”-M”选项的语法如下:
[-M[ARKUP] "HTML [ON|OFF] [HEAD text] [BODY text]
[ENTMAP {ON|OFF}] [SPOOL {ON|OFF}] [PRE[FORMAT] {ON|OFF}]"
如果我们在实际应用中,要对公司的某个Table进行每个月的报表HTML化,用SQL*Plus的这个特性很容易做到。
举例如下:
我们准备对Scott模式下的DEPT表进行处理。DEPT表内容:
SQL> SELECT * FROM dept;
DEPTNO DNAME LOC
---------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
在系统命令行下输出HTML文件:
将下面几行语句存到一个.sql脚本中(比如说q.sql):
SET ECHO OFF
SET FEEDBACK OFF
SELECT * FROM dept;
SET ECHO ON
SET FEEDBACK ON
exit
然后在命令行下调用如下命令:
C:\> sqlplus -s -m "HTML ON HEAD DEPT表格之内容" Scott/tiger @c:\q.sql>Dept.html
对这条命令简单的解释一下:其中”-s”表示silent模式,”-m”表示启用HTML Markup选项,”HEAD DEPT表格之内容”可以用来定制一个简单的标题。然后命令中跟的是数据库用户名字和密码,执行脚本,重定向到Dept.html中。
输出Dept.html有如下内容(空白处已经截去):
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /><shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><stroke joinstyle="miter"></stroke><formulas><f eqn="if lineDrawn pixelLineWidth 0"></f><f eqn="sum @0 1 0"></f><f eqn="sum 0 0 @1"></f><f eqn="prod @2 1 2"></f><f eqn="prod @3 21600 pixelWidth"></f><f eqn="prod @3 21600 pixelHeight"></f><f eqn="sum @0 0 1"></f><f eqn="prod @6 1 2"></f><f eqn="prod @7 21600 pixelWidth"></f><f eqn="sum @8 21600 0"></f><f eqn="prod @7 21600 pixelHeight"></f><f eqn="sum @10 21600 0"></f></formulas><path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></path><lock aspectratio="t" v:ext="edit"></lock></shapetype><shape id="_x0000_i1025" style="WIDTH: 414.75pt; HEIGHT: 108.75pt" o:ole="" type="#_x0000_t75"><img o:title="" src="/Develop/ArticleImages/18/18661/CSDN_Dev_Image_2003-5-271102330.png"></shape>
在SQL*Plus下输出文件
在SQL*Plus中可以用SET MARKUP命令来做到。
SET MARKUP
用法: SET MARKUP HTML [ON|OFF] [HEAD text] [BODY text]
[ENTMAP {ON|OFF}] [SPOOL {ON|OFF}] [PRE[FORMAT] {ON|OFF}]
把下面的内存存为一个.sql脚本(比如说C:\q.sql):
SET ECHO OFF
SET FEEDBACK OFF
SET MARKUP HTML ON SPOOL ON
SPOOL c:\Dept.html
SELECT * FROM dept;
SPOOL OFF
SET MARKUP HTML OFF
SET ECHO ON
SET FEEDBACK ON
在SQL*Plus中调用,即可创建内容在C:中创建了名为Dept.html的HTML页面,如下图所示:
<shape id="_x0000_i1026" style="WIDTH: 414.75pt; HEIGHT: 92.25pt" o:ole="" type="#_x0000_t75"><img o:title="" src="/Develop/ArticleImages/18/18661/CSDN_Dev_Image_2003-5-271102332.png"></shape>
附:HTML页面输出样例源文件内容
<html>
<head>
DEPT表格之内容
<meta name="generator" content="SQL*Plus 8.1.7">
</head>
<body>
<p>
<table border="1" width="90%">
<tr>
<th>
DEPTNO
</th>
<th>
DNAME
</th>
<th>
LOC
</th>
</tr>
<tr>
<td align="right">
10
</td>
<td>
ACCOUNTING
</td>
<td>
NEW YORK
</td>
</tr>
<tr>
<td align="right">
20
</td>
<td>
RESEARCH
</td>
<td>
DALLAS
</td>
</tr>
<tr>
<td align="right">
30
</td>
<td>
SALES
</td>
<td>
CHICAGO
</td>
</tr>
<tr>
<td align="right">
40
</td>
<td>
OPERATIONS
</td>
<td>
BOSTON
</td>
</tr>
</table>
<p>
</body>
</html>
分享到:
相关推荐
### Oracle SQL*Plus 口袋...以上章节覆盖了《Oracle SQL*Plus Pocket Reference, 2nd Edition》的主要内容,为读者提供了丰富的SQL*Plus使用技巧和最佳实践,适合各种级别的Oracle数据库管理员和技术人员学习和参考。
实验主要涵盖了Oracle数据库系统中的SQL*PLUS工具的使用以及SQL查询语言的基本操作。SQL*PLUS是Oracle数据库管理系统的命令行界面,用于执行SQL语句和PL/SQL块。通过实验,学生能够熟悉Oracle的基本知识,掌握SQL*...
《SQL*Plus用户指南与参考》是一本专为Oracle数据库管理员和开发人员设计的重要参考资料,它详尽地介绍了如何使用SQL*Plus这个强大的命令行工具。SQL*Plus是Oracle数据库系统的一部分,允许用户直接交互地执行SQL...
Sql*plus是一个最常用的工具,具有很强的功能,主要有: 1. 数据库的维护,如启动,关闭等,这一般在服务器上操作。 2. 执行sql语句执行pl/sql。 3. 执行sql脚本。 4. 数据的导出,报表。 5. 应用程序开发、测试sql/...
SQL*Plus 是 Oracle 公司的一款交互式查询工具,允许用户使用 SQL 语言来访问和管理 Oracle 数据库。下面是 SQL*Plus Getting Started Release 8.1.7 for Windows 的知识点总结: SQL*Plus 简介 SQL*Plus 是一个...
实验二 Oracle SQL*PLUS环境与查询
Oracle的sql*plus是与oracle进行交互的客户端工具。在sql*plus中,可以运行sql*plus命令与sql语句。 我们通常所说的DML、DDL、DCL语句都是sql语句,它们执行完后,都可以保存在一个被称为sql buffer的内存区域中,...
SQL*Plus 是 Oracle 公司开发的一款交互式查询工具,允许用户通过命令行方式与 Oracle 数据库进行交互。该工具提供了大量的功能,包括查询、报表生成、数据导入和导出等。 1. SQL*Plus 简介 SQL*Plus 是 Oracle ...
以上内容详细介绍了如何使用SQL*Plus进行Oracle数据库的基本管理操作,包括创建表空间、创建用户、授予和撤销权限等。这些操作对于日常的数据库管理和开发非常重要。希望这些内容能够帮助大家更好地理解和掌握Oracle...
SQL*Plus 是 Oracle 公司开发的一款交互式查询工具,允许用户通过命令行方式与 Oracle 数据库进行交互。下面是 SQL*Plus 的一些重要特性和知识点: 1. SQL*Plus 的基本概念:SQL*Plus 是一个命令行工具,用于执行 ...
在oracle的sql*plus界面,不像SQL Server中的可拖动界面大小比例。需要通过设置环境参数,使查询显示的数据格式呈现为报表形式,使界面更美观。这是本人学习oracle的笔记,现总结为word表格的形式,各个set命令的...
SQL*Plus 是 Oracle 公司的一款交互式查询工具,用于对 Oracle 数据库进行查询、修改和管理。本手册提供了 SQL*Plus 的使用指南和参考手册,涵盖了 SQL*Plus 的基本概念、命令、格式、选项、变量、报表生成、图形化...
SQL*Plus 是 Oracle corporation 开发的一款强大的数据库管理工具,本 Quick Reference 释义了 SQL*Plus 的命令语法和使用方法。下面我们将详细介绍 SQL*Plus 的命令语法、基本使用、数据库访问、查询结果格式化、...
SQL*Plus是Oracle数据库的客户端工具,用于与Oracle数据库进行交互。SQL*Plus提供了多种功能,包括数据的定义、数据的控制、数据的查询等。 一、数据定义(DDL)语句: 1. CREATE语句:用于创建表、索引、视图、...
【SQL*PLUS】是Oracle公司提供的一个用于交互式管理和查询数据库的工具,它允许用户通过SQL命令与数据库进行各种操作,包括数据查询、更新、插入和删除等。SQL*PLUS不仅支持SQL语言,还提供了特有的命令来控制输出...
目录写在开头一、SQL*Plus的运行环境二、SQL*Plus命令三、格式化查询结果四、缓冲区写在结尾 写在开头 在数据库系统中,使用两种方式执行命令,一种是通过图形化工具,另一种是直接使用各种命令。 图形化工具:直观...
11. **与其他Oracle工具的集成**:简述如何将SQL*Plus与其他Oracle管理工具,如SQL Developer,集成使用。 12. **政府用户注意事项**:对于美国政府或为其代理的用户,书中指出该软件被视为“商业计算机软件”,并...