spool 多个表的问题

yuxinglian 2010-01-14 10:08:31
最近有个巡检任务, 具体的还不知道怎么巡检呢。

暂时想用 spool 输出结果到文件中, 但是设置了 set heading on , 为什么结果中显示不出来字段的标题呢?

而且 set trimout on; set trimspool on; 结果中的多余空格也没有去掉, 奇怪呀?

我这个脚本中需要执行很多的查询语句。

我是在 plsql 中的 command 窗口执行的
...全文
182 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
crazylaa 2010-01-14
  • 打赏
  • 举报
回复
不好意思,注释应该这么加:
PROMPT--set linesize 1000 OK!

set pagesize 1000;
PROMPT--set pagesize 1000 OK!
set linesize 1000;
PROMPT--set linesize 1000 OK!
col time format A20;
PROMPT--col time format A20 OK!
col what format A100;
PROMPT--col what format A100 OK!
PROMPT--select jobs
select job,to_char(next_date,'yyyy-MM-dd')||' '||next_sec as time,failures,broken,what from user_jobs order by job;
set serveroutput on;
PROMPT--set serveroutput on OK!
crazylaa 2010-01-14
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 yuxinglian 的回复:]
我就是写的单个 sql 脚本, 里边有多个查询语句, 就是结果出来的时候不带字段名, 根本看不明白哪是哪。

我用的不是 sqlplus, 用的是 plsqldeveloper 的 command 窗口, 而且spool命令和sqlplus应该是没有关系的呀, 怎么就是不行尼
[/Quote]
呵呵,那你可以在每个select前面加个注释,那输出文件也有了:
-- execute select for tbl1;
desc tbl1; --这里会有表结构先出来
select * from tbl1;
yuxinglian 2010-01-14
  • 打赏
  • 举报
回复
我就是写的单个 sql 脚本, 里边有多个查询语句, 就是结果出来的时候不带字段名, 根本看不明白哪是哪。

我用的不是 sqlplus, 用的是 plsqldeveloper 的 command 窗口, 而且spool命令和sqlplus应该是没有关系的呀, 怎么就是不行尼
Hemes_MC 2010-01-14
  • 打赏
  • 举报
回复
cd $ORACLE_HOME/sqlplus/admin
vi glogin.sql
设置你的SQL*PLUS命令,然后重启SQL*PLUS试试。
tangren 2010-01-14
  • 打赏
  • 举报
回复
应该是可以的

SQL> set feedback off;
SQL> spool c:\test.log
SQL> select * from tab;

TNAME TABTYPE CLUSTERID
------------------------------ ------- ----------
T2 TABLE
A TABLE
DEPT TABLE
EMP TABLE
BONUS TABLE
SALGRADE TABLE
COURSE TABLE
I1 TABLE
I2 TABLE
SQL> spool off;
crazylaa 2010-01-14
  • 打赏
  • 举报
回复
你可以写个.bat文件,然后把你的查询语句写在一个sql里面,然后直接运行.bat把输出定位到log文件。

3,491

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧