Командная строка Oracle SqlPlus: есть ли способ объединить параметры набора?

Мне нужно настраивать некоторые параметры SET в программе командной строки Oracle SQLplus каждый раз, когда я ее использую, например SET HEADING OFF и тому подобное, чтобы украсить мои результаты. Я обнаружил, что мне всегда приходится вводить каждую строку отдельно, поэтому установите разные параметры, и это становится раздражающим, поскольку мне нужно обращаться к нему много раз в день.

Я обнаружил, что невозможно разделить разные команды SET точкой с запятой, потому что он не принимает это:

SET HEADING OFF; SET LINESIZE 100;

возвращает ошибку

Решением может быть добавление их в сценарий управления и создание псевдонима оболочки, но я знаю, что сценарии управления выполняются, а затем завершаются и не возвращают вам контроль над командной строкой.

Итак, кто-нибудь знает другое решение? Или я что-то упускаю?


person OverLex    schedule 18.03.2010    source источник


Ответы (2)


Поместите все свои команды в файл «.sql» (например, «format.sql»), затем выполните их с помощью команды «@» в Sql * plus (например, «@format»).

Обратите внимание, что при поиске командного файла по умолчанию используется суффикс «.sql».

Например, если "format.sql" содержит команды "установить размер строки 100" и "установить размер страницы 0":

% sqlplus

SQL*Plus: Release 10.2.0.1.0 - Production on Thu Mar 18 08:39:03 2010
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
SQL> show linesize
linesize 80
SQL> @format
SQL> show linesize
linesize 100
SQL> select 1+1 from dual;
     2
person David Gelhar    schedule 18.03.2010
comment
Мне нужны просто параметры настройки, тогда я выполняю запросы вручную, если я помещаю их в файл sql и использую @, я не верну командную строку для ввода запросов. - person OverLex; 18.03.2010
comment
Действительно? У меня это всегда работало нормально - просто запустите команду @ из приглашения SQL ›, и вы останетесь в SQLPlus, когда командный файл завершится (я отредактирую пример в своем ответе) - person David Gelhar; 18.03.2010
comment
Замечательно, это работает, так что оба работают: моя и ваша, голосование за вас как ответ на мой конкретный вопрос :) спасибо - person OverLex; 22.03.2010

Хорошо, отвечая на свой вопрос: учеником можно сделать это:

SET HEADING OFF LINESIZE 100 PAGESIZE 0 xxx xxx

И продолжайте добавлять правила по мере их появления.

На данный момент это простое и эффективное решение.

person OverLex    schedule 18.03.2010