前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【DB笔试面试490】 如何导出csv和html文件?

【DB笔试面试490】 如何导出csv和html文件?

作者头像
AiDBA宝典
发布2019-09-30 16:15:14
6200
发布2019-09-30 16:15:14
举报
文章被收录于专栏:小麦苗的DB宝专栏
题目部分

在Oracle中,如何导出csv和html文件?

答案部分

1、 导出csv文件格式

保存以下内容为spoolcsv.sql:

代码语言:javascript
复制
set echo on
set trimspool on
set trimout on
set linesize 4000
set pagesize 0
set sqlblanklines on
set feedback off
set serveroutput off
set term off
set echo off


define data_path=E:\data


col ymd new_value v_ymd

select to_char(sysdate,'YYYYMMDDHH24MISS') ymd FROM dual;

spool &data_path\result_&&v_ymd..csv
SELECT substr(t.lie, 3) FROM   (SELECT 0||','||'DEPTNO'||','||'DNAME'||','||'LOC' lie FROM dual a UNION SELECT replace(replace( 1||',' || REPLACE(DEPTNO,',','、')||',' || REPLACE(DNAME,',','、')||',' || REPLACE(LOC,',','、'),chr(10),''),chr(13),'')  from SCOTT.DEPT) t;
spool off


exit

---命令行
--sqlplus lhr/lhr@orcl @f:\sql\spool\spool_csv.sql


--SELECT fun_get_spool_string_lhr('SCOTT','EMP') FROM DUAL;
2、 导出html文件格式

主要是使用:主要是使用 set markup html on

代码语言:javascript
复制
SYS@PROD1> set markup
SP2-0281: markup missing set option
Usage: SET MARKUP HTML [ON|OFF] [HEAD text] [BODY text]
 [TABLE text] [ENTMAP {ON|OFF}] [SPOOL {ON|OFF}] [PRE[FORMAT] {ON|OFF}]

简单:

代码语言:javascript
复制
set feedback off
set markup html on;
spool e:\data\salgrade.html
select * from scott.emp; 
spool off
set markup html off
exit

漂亮的表格:

代码语言:javascript
复制
set feedback off
set markup html on;
set markup html on spool on preformat off entmap on -
head ' -
  <title> SCOTT.EMP表的数据</title> -
  <style type="text/css"> -
    body              {font:11px Courier New,Helvetica,sans-serif; color:black; background:White;} -
    p                 {font:11px Courier New,Helvetica,sans-serif; color:black; background:White;} -
    table,tr,td       {font:11px Courier New,Helvetica,sans-serif; color:Black; background:#FFFFCC; padding:0px 0px 0px 0px; margin:0px 0px 0px 0px;} -
    th                {font:bold 11px Courier New,Helvetica,sans-serif; color:White; background:#0066cc; padding:0px 0px 0px 0px;} -
    h1                {font:bold 12pt Courier New,Helvetica,Geneva,sans-serif; color:White; background-color:White; border-bottom:1px solid #cccc99; margin-top:0pt; margin-bottom:0pt; padding:0px 0px 0px 0px;} -
    h2                {font:bold 11pt Courier New,Helvetica,Geneva,sans-serif; color:White; background-color:White; margin-top:4pt; margin-bottom:0pt;} -
    a                 {font:11px Courier New,Helvetica,sans-serif; color:#663300; margin-top:0pt; margin-bottom:0pt; vertical-align:top;} -
    a.link            {font:11px Courier New,Helvetica,sans-serif; color:#663300; margin-top:0pt; margin-bottom:0pt; vertical-align:top;} -
    a.noLink          {font:11px Courier New,Helvetica,sans-serif; color:#663300; text-decoration: none; margin-top:0pt; margin-bottom:0pt; vertical-align:top;} -
    a.noLinkBlue      {font:11px Courier New,Helvetica,sans-serif; color:#0000ff; text-decoration: none; margin-top:0pt; margin-bottom:0pt; vertical-align:top;} -
    a.noLinkDarkBlue  {font:11px Courier New,Helvetica,sans-serif; color:#000099; text-decoration: none; margin-top:0pt; margin-bottom:0pt; vertical-align:top;} -
    a.noLinkRed       {font:11px Courier New,Helvetica,sans-serif; color:#ff0000; text-decoration: none; margin-top:0pt; margin-bottom:0pt; vertical-align:top;} -
    a.noLinkDarkRed   {font:11px Courier New,Helvetica,sans-serif; color:#990000; text-decoration: none; margin-top:0pt; margin-bottom:0pt; vertical-align:top;} -  
    a.info:hover {background:#eee;color:#000000; position:relative;} -
    a.info span {display: none; } -
    a.info:hover span {font-size:11px!important; color:#000000; display:block;position:absolute;top:30px;left:40px;width:150px;border:1px solid #ff0000; background:#FFFF00; padding:1px 1px;text-align:left;word-wrap: break-word; white-space: pre-wrap; white-space: -moz-pre-wrap} -
  </style>' -
body   'BGCOLOR="#C0C0C0"'


SET MARKUP html TABLE  'WIDTH="100%" border="1" summary="Script output"  cellspacing="0px" style="border-collapse:collapse;" ' 

define data_path=E:\data

col ymd new_value v_ymd

select to_char(sysdate,'YYYYMMDDHH24MISS') ymd FROM dual;

spool &data_path\result_html_&&v_ymd..html
select * from scott.emp; 
spool off
set markup html off
exit

再例如我的健康检查脚本也是通过这种方式导出的:

& 说明:

有关本小节的更多内容可以参考我的BLOG:http://blog.itpub.net/26736162/viewspace-2149543/

本文选自《Oracle程序员面试笔试宝典》,作者:李华荣。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-01-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DB宝 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 2、 导出html文件格式
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档