关于 set termout off

[复制链接]
查看11 | 回复7 | 2005-12-6 10:08:14 | 显示全部楼层 |阅读模式
oracle的文档上这样描述,
To spool output generated by commands in a script without displaying the output on the screen, use SET TERMOUT OFF. SET TERMOUT OFF does not affect output from commands run interactively.
可试验结果是这样的,
21:53:52 SQL> spool 1
18:33:08 SQL> set termout off
18:33:25 SQL> select * from duail;
select * from duail

*
ERROR at line 1:
ORA-00942: table or view does not exist

18:33:32 SQL> select * from dual;
D
-
X
18:33:40 SQL> show termout
termout OFF
哪位能给解释一下?为什么termout没有生效?
回复

使用道具 举报

千问 | 2005-12-6 10:08:14 | 显示全部楼层
对这个设置也不清楚,想知道...
回复

使用道具 举报

千问 | 2005-12-6 10:08:14 | 显示全部楼层
有人在么?
回复

使用道具 举报

千问 | 2005-12-6 10:08:14 | 显示全部楼层
顶一下。各路英雄发表一下看法呀
回复

使用道具 举报

千问 | 2005-12-6 10:08:14 | 显示全部楼层
这个是要结合spool 和@来使用的。
把你的sql写成单个文件,然后再执行这个文件。
例如:
term.sql中的内容:
spool d:\orabak\term01.log
set term off
select *
from v$log;
spool off
@term.sql看一下。
然后再试试将term off 改为On,再看看.....
回复

使用道具 举报

千问 | 2005-12-6 10:08:14 | 显示全部楼层
英文说spool时起作用,而cammands run interactively 时不生效
回复

使用道具 举报

千问 | 2005-12-6 10:08:14 | 显示全部楼层
[php]
SQL>@c:\t.sql
COUNT(*)
----------
1
已选择 1 行。
已用时间:00: 00: 01.04
SQL>show termout
termout ON
SQL>set termout off
SQL>@c:\t.sql
SQL>
--
[/php]
说明set termout on/off 是控制@方式执行之返回的
回复

使用道具 举报

千问 | 2005-12-6 10:08:14 | 显示全部楼层
学习个!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行