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 に答える