ITPub博客

首页 > 数据库 > Oracle > sqlplus的小秘密4『By oldwain』

sqlplus的小秘密4『By oldwain』

原创 Oracle 作者:lastwinner 时间:2005-10-10 14:43:11 0 删除 编辑

这个也许不算什么秘密, 很多人大概都知道, 不过用过的人也许不多.

在8.1.7版本(也许是816? 不太确定)以后, sql*plus中有一个set markup html的命令, 可以将sql*plus的输出以html格式展现.

[@more@]
scott@O9I.US.ORACLE.COM> set markup html on spool on
">scott@O9I.US.ORACLE.COM>; select empno, ename from emp where rownum<3;

















EMPNO

ENAME

7369

SMITH

7499

ALLEN

注意其中的spool on, 当在屏幕上输出的时候, 我们看不出与不加spool on有什么区别, 但是当我们使用spool filename 输出到文件的时候, 会看到spool文件中出现了等tag.

">scott@O9I.US.ORACLE.COM>; spool c:emp.htm


">scott@O9I.US.ORACLE.COM>; /




......此处省略

">scott@O9I.US.ORACLE.COM>; spool off

查看生成的emp.htm文件的内容:





SQL*Plus Report


">scott@O9I.US.ORACLE.COM>; /

















EMPNO

ENAME

7369

SMITH

7499

ALLEN

">scott@O9I.US.ORACLE.COM>; spool off



用ie打开emp.htm文件后的样式如下:

现在看看spool off的情况下:

">scott@O9I.US.ORACLE.COM>; set markup html on spool off


">scott@O9I.US.ORACLE.COM>; spool c:emp2.htm


">scott@O9I.US.ORACLE.COM>; /

















EMPNO

ENAME

7369

SMITH

7499

ALLEN

">scott@O9I.US.ORACLE.COM>; spool off

由于这段代码中没有html文件头, 所以我们可以直接作为内容插入到网页中, 现在我们就可以把这段代码放到下面作为示例:

EMPNO ENAME
7369 SMITH
7499 ALLEN

总结: 如果要生成一个完整的html文件, 就使用spool on选项, 如果只是要内容部分(用来添加到一个现有的网页中), 那么就使用spool off选项.

另外, set markup html还有很多选项可以用来定制生成的html的各个部分, 例如head, body, table等, 这里不再逐一说明, 详细信息可以参考SQL*Plus User's Guide and Reference.

适用场景: 当需要定时更新一个从数据库中获取内容的静态页面时, 这种方法绝对是快捷的并且容易实现的.

(需要引用, 请注明出处: http://blog.itpub.net/oldwain)

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29867/viewspace-807687/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2007-12-12

  • 博文量
    223
  • 访问量
    2812780