使用SQL*PLUS构建完美excel或html输出
转自:http://hong9270503.blog.163.com/blog/static/127292320091611319516/
通过SQL*PLUS我们可以构建友好的输出,满足多样化用户需求。
本例通过简单示例,介绍通过sql*plus输出xls,html两种格式文件.
首先创建两个脚本:
1.main.sql
用以设置环境,调用具体功能脚本
2.功能脚本-get_tables.sql
为实现具体功能之脚本
通过这样两个脚本可以避免spool中的冗余信息.
示例如下:
1.main.sql脚本:
[oracle@jumper utl_file]$ more main.sql
set
linesize 200
set term off verify off feedback off pagesize 999
set
markup html on entmap ON spool on preformat off
spool tables.xls
@get_tables.sql
spool
off
exit
2.get_tables.sql脚本:
[oracle@jumper
utl_file]$ more get_tables.sql
select
owner,table_name,tablespace_name,blocks,last_analyzed
from all_tables
order by 1,2;
3.执行并获得输出:
[oracle@jumper utl_file]$
sqlplus "/ as sysdba" @main
SQL*Plus: Release 9.2.0.4.0 -
Production on Mon Apr 25 10:30:11 2005
Copyright (c) 1982, 2002,
Oracle Corporation. All rights reserved.
Connected to:
Oracle9i
Enterprise Edition Release 9.2.0.4.0 - Production
With the
Partitioning option
JServer Release 9.2.0.4.0 - Production
Disconnected
from Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
With
the Partitioning option
JServer Release 9.2.0.4.0 - Production
[oracle@jumper
utl_file]$ ls -l tables.xls
-rw-r--r-- 1 oracle dba 69539 Apr 25
10:30 tables.xls
[oracle@jumper utl_file]$
此处输出为xls文件,通过下图我
们可以看到输出效果:
把main.sql脚本中的,spool tables.xls更改为spool
tables.htm,我们可以获得htm格式输出,效果如下图:
相关文档:
/*------------------------------------------------------------------
-- Author : htl258(Tony)
-- Date : 2010-04-16 14:30:23
-- Version: Microsoft SQL Server 2008 (RTM) - 10.0.1600.22 (Intel X86)
Jul 9 2008 14:43:34
&nb ......
打开“管理工具――组件服务”,以此打开“组件服务――计算机”,在“我的电脑”上点击右键。
在MSDTC选项卡中,点击“安全配置”按钮。
在安全配置窗口中做如下设置:
选中“网络DTC访问”
在客户端管理中选中“允许远程客户端”“允� ......
--获得当前所有驱动器
exec master.dbo.xp_availablemedia
--获得子目录列表
exec master.dbo.xp_subdirs 'c:\'
--获得所有子目录的目录树结构
exec master.dbo.xp_dirtree 'c:\'
--订阅文件删除
declare @tempTable table (Cont varchar(50))
declare @strTemp varchar(50)
declare @dirPath varchar(50)
declar ......
如图1、2,id=1的数据是NULL,其他的为非NULL的数据。
一般情况下,会用两种方法!
方法1.t-sql:insert into E values(1,'NULL'),插入后,在打开表的情况下看到的
是'NULL'(我想是为了区分NULL,才加的引号),但是查询的时候不影响,显示的是NULL,
如图1、2,id为6的数据。
如果要插入带单引号的'NULL',insert i ......