this is a extra element for clear the floated element
用Oracle的SQL*Plus工具创建HTML页面
  • 12/31
  • 2008
PLSQL | Oracle 1496 次查看
  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>

  
您可能感兴趣的:

更多相关内容