数据库

本类阅读TOP10

·SQL语句导入导出大全
·SQL Server日期计算
·SQL语句导入导出大全
·SQL to Excel 的应用
·Oracle中password file的作用及说明
·MS SQLServer OLEDB分布式事务无法启动的一般解决方案
·sqlserver2000数据库置疑的解决方法
·一个比较实用的大数据量分页存储过程
·如何在正运行 SQL Server 7.0 的服务器之间传输登录和密码
·SQL中两台服务器间使用连接服务器

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
用Oracle的SQL*Plus工具创建HTML页面

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

OracleSQL*Plus工具创建HTML页面

 

作者:Fenng

 

OracleSQL*Plus工具有一些比较有趣的选项,合理的使用,能够给我们意想不到的后果。其中有一个”-M”选项能够创建用来创建HTML报表,在实际应用中很有用处。我们先来看看SQL*PlusOracle 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有如下内容(空白处已经截去):

 

 

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.htmlHTML页面,如下图所示:

 

 

附: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>




相关文章

相关软件