Oracle SqlPlus - сохранение вывода в файл, но не отображение на экране - PullRequest
32 голосов
/ 25 июля 2011

Используя SqlPlus для Oracle, как сохранить вывод запроса в файл, но не показать его в терминале / подсказке.

Ответы [ 4 ]

42 голосов
/ 25 июля 2011

прямо из руководства по SQL * Plus
http://download.oracle.com/docs/cd/B19306_01/server.102/b14357/ch8.htm#sthref1597

SET TERMOUT

SET TERMOUT OFF подавляет отображение, так что вы можете буферизовать вывод из скрипта без видя это на экране.

Если и спулинг в файл, и запись в терминал не требуются, используйте SET TERMOUT OFF в> скриптах SQL, чтобы отключить вывод терминала.

SET TERMOUT не поддерживается в iSQL * Plus

20 голосов
/ 01 марта 2012

Попробуйте это:

SET TERMOUT OFF; 
spool M:\Documents\test;
select * from employees;
/
spool off;
9 голосов
/ 02 марта 2013

Попробуйте:

sqlplus -s ${ORA_CONN_STR} <<EOF >/dev/null
2 голосов
/ 21 июня 2018

set termout off не работает из командной строки, поэтому создайте файл, например termout_off.sql, содержащий строку:

set termout off

и вызовите его из командной строки SQL:

SQL> @termout_off
...