当脚本中有“连接”时,我可以阻止SQL * Plus显示“已连接”吗?

时间:2010-03-18 09:47:12

标签: oracle sqlplus

我需要通过SQL * Plus运行一些sql脚本。这些 脚本使用connect user_01/pass_01@db_01作为不同用户多次连接。现在,每次脚本执行此类连接时,它都会确认与connected的成功连接。这令人分心,我想把它关掉。

我可以通过

实现我想要的
set termout off
connect user_01/pass_01@db_01
set termout on

我的问题是否有更优雅的解决方案?

注意,在脚本开始时永久set termout off没有帮助,因为我需要知道命令是否未成功运行。

2 个答案:

答案 0 :(得分:3)

这是我在Tom Kyte的书中使用的一个提示(忘记哪一个)。我的sqlplus目录中有一个名为connect.sql的脚本:

set termout off 
connect &1 
@login

在我的glogin.sql中我添加了这个:

select lower(user) || '@' || 
substr( global_name,1, decode( dot, 0, length(global_name), dot-1) ) 
global_name 
from (select global_name, instr(global_name,'.') dot from global_name );

set sqlprompt '&gname> '

set termout on
然后我打电话给

@connect user_01/pass_01@db_01

而不是

connect user_01/pass_01@db_01

答案 1 :(得分:0)

如果它真的困扰你,你可以尝试

SQL> set feedback off
SQL> alter session set current_schema=SCOTT;

但这可能无法满足您的需求......