Могу ли я остановить SQL * Plus для отображения «подключен», когда у меня есть «подключиться» в сценарии? - PullRequest
2 голосов
/ 18 марта 2010

У меня есть несколько сценариев sql, которые мне нужно запустить через SQL * Plus. Эти Скрипты соединяются несколько раз как разные пользователи с 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 ]

3 голосов
/ 18 марта 2010

Вот совет, который я использовал из книги Тома Кайта (забудь, какой). У меня есть скрипт с именем connect.sql в моем каталоге sqlplus:

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
0 голосов
/ 18 марта 2010

Если вас это действительно беспокоит, вы можете попробовать

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

Но это может не соответствовать вашим потребностям ....

...