2

我有一些需要通过 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因为我需要知道命令是否未成功运行。

4

2 回答 2

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
于 2010-03-18T10:07:18.387 回答
0

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

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

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

于 2010-03-18T10:40:21.540 回答