首页 > 数据库 > Oracle > 正文

用Oracle的SQL*Plus工具创建HTML页面

2024-08-29 13:31:08
字体:
来源:转载
供稿:网友



用oracle的sql*plus工具创建html页面

 

作者: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有如下内容(空白处已经截去):

 



 

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

 



 

附: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>
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表