Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
05 приложение - SQL Plus - win.doc
Скачиваний:
11
Добавлен:
17.08.2019
Размер:
762.88 Кб
Скачать

Настройка среды sql*Plus

Среда SQL*Plus - очень гибкая и имеет широкие возможности настройки по требованиям пользователя. Эти настройки выполняются, в основном, с помощью команды SET. Мы неоднократно использовали команду SET в примерах данного модуля. В следующем разделе представлено ее формальное описание.

Команда set

Команда SET позволяет установить системную переменную, изменяющую свойства среды SQL*Plus для текущего сеанса. Она имеет следующий синтаксис:

<команда SET> ::=

SET <системная переменная> <значение>

Имена, описания и возможные значения основных системных переменных для команды SET представлены в табл. 15.

Таблица 15. Основные системные переменные SQL*Plus

Переменная

Значения

Назначение

Sho APPI[NFO]

ON | OFF | <текст>

Устанавливает автоматическую регистрацию командных файлов с помощью пакета DBMS_APPLICATION_INFO. Это позволяет контролировать производительность и использование ресурсов каждым командным файлом. При отключенной регистрации файлов в качестве имени модуля используется строка "SQL*Plus" или заданный в этой переменной текст. По умолчанию регистрация отключена.

ARRAY[SIZE]

<размер пакета>

Устанавливает размер пакета строк, извлекаемых утилитой SQL*Plus из базы данных за один прием. Диапазон допустимых значений - от 1 до 5000. По умолчанию извлекается по 15 строк.

AUTO[COMMIT]

ON | OFF | IMM[EDIATE] | <к-во операторов>

Управляет фиксацией изменений в базе данных. По умолчанию (OFF) изменения необходимо фиксировать явно. Изменения могут фиксироваться немедленно после успешного выполнения оператора или блока (ON, IMM), или после успешного выполнения указанного количества операторов или блоков PL/SQL. Значение должно быть в диапазоне от 0 до 2000000000.

AUTOP[RINT]

ON | OFF

Устанавливает автоматическую выдачу значений использованных в команде связываемых переменных.

AUTORECOVERY

ON | OFF

При установке значения ON команда RECOVER будет автоматически использовать стандартные имена файлов архивных журналов повторного выполнения. По умолчанию, имена файлов при восстановлении придется вводить вручную, в ответ на запросы SQL*Plus.

AUTOT[RACE]

ON | OFF | TRACE[ONLY] [EXP[LAIN]] [STAT[ISTICS]]

Управляет выдачей отчета о выполнении успешного оператора SELECT, INSERT, UPDATE или DELETE. В отчет может включаться план выполнения и статистическая информация о выполненных действиях.

BLO[CKTERMINATOR]

. | <символ>

Задает не алфавитно-цифровой символ, используемый для завершения блока PL/SQL. По умолчанию используется точка.

CMDS[EP]

; | ON | OFF | <символ>

Задает не алфавитно-цифровой символ, используемый для разделения нескольких команд SQL*Plus в одной строке. ON/OFF управляет возможностью обработки нескольких команд в строке. Значение ON означает, кроме того, установку стандартного разделителя - точки с запятой.

COLSEP

<текст>

Задает текст, который будет выдаваться между выбранными столбцами. Если текст содержит пробелы или символы пунктуации, его необходимо брать в апострофы. По умолчанию используется один пробел.

COM[PATIBILITY]

V7 | V8 | NATIVE

Задает версию Oracle, к которой подключена утилита SQL*Plus. Значение NATIVE, принятое по умолчанию, указывает, что версия определяется базой данных.

CON[CAT]

. | ON | OFF | <символ>

Задает символ, который позволяет отделить имя подставляемой переменной от остальной части строки. Стандартный символ - точка.

COPYC[OMMIT]

<к-во пакетов>

Задает количество пакетов (размер задается системной переменной ARRAYSIZE), после копирования которых команда COPY фиксирует изменения в базе данных. Значение должно быть в диапазоне от 0 до 5000. При использовании стандартного значения, 0, фиксация выполняется только по завершении копирования.

DEF[INE]

& | ON | OFF | <символ>

Задает символ-префикс подставляемой переменной. При указании значения ON используется стандартный префикс - &.

DESC[RIBE]

[DEPTH 1 | ALL | <глубина>] [LINENUM ON | OFF] [INDENT ON | OFF]

Задает количество уровней рекурсивного описания объекта. Допустимы значения от 1 до 50. ALL означает максимальное количество уровней, 50. Можно также указывать номер строки и отступы для имени столбца или атрибута, когда объект содержит несколько компонентов объектных типов.

ECHO

ON | OFF

Управляет выдачей на экран каждой команды в командном файле, выполняемом с помощью START.

EDITF[ILE]

<имя файла>[.<расширение>]

Устанавливает стандартное имя файла для команды EDIT.

EMB[EDDED]

ON | OFF

Задает выдачу каждого нового отчета с новой страницы (стандартное значение, OFF) или как продолжение на текущей странице (ON).

ESC[APE]

\ | ON | OFF | <символ>

Задает маскирующий символ. Значение ON задает стандартный маскирующий символ, обратную косую.

FEED[BACK]

ON | OFF | <к-во строк>

Управляет выдачей количества строк, возвращенных запросом. Информация выдается, если возвращено не менее указанного количества строк. Значение ON эквивалентно 1.

FLU[SH]

ON | OFF

Управляет буферизацией результатов. При стандартном значении ON результаты выдаются клиенту немедленно.

HEA[DING]

ON | OFF

Управляет выдачей заголовков столбцов в результатах.

HEADS[EP]

| | ON | OFF | <символ>

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

LIN[ESIZE]

<длина строки>

Задает количество символов в выдаваемой строке. Если выдаваемая строка длиннее, остаток переносится на новую строку. Это значение также используется для выравнивания колонтитулов и заголовков отчетов.

LOGSOURCE

[<путь>]

Задает местонахождение архивных файлов журнала повторного выполнения для восстановления. Если значение не указано, будет использоваться путь, указанный в файле параметров инициализации.

LONG

<ширина столбца>

Задает максимальную ширину (в байтах) для выдачи значений типа LONG, CLOB и NCLOB (а также для копирования значений типа LONG). Значение не может превосходить 2 Гбайта.

NEWP[AGE]

NONE | <к-во строк>

Задает количество пустых строк, выдаваемых в начале страницы отчета, перед верхним колонтитулом. Стандартное значение - 1 строка. Если указано значение NONE, пустые строки не выдаются. Если же указано значение 0, при печати пропускается страница, а при выдаче на экран он очищается.

NULL

<текст>

Задает текст, представляющий пустое значение в результатах выполнения оператора SELECT.

NUMF[ORMAT]

<формат>

Задает стандартный формат выдачи чисел (о форматах см. в описании команды COLUMN)

NUM[WIDTH]

<ширина>

Задает стандартную ширину числовых столбцов.

PAGES[IZE]

<к-во строк>

Задает количество строк на странице. Если установить значение 0, подавляется выдача заголовков, колонтитулов и начальных пустых строк.

PAU[SE]

ON | OFF | <текст>

Позволяет управлять прокруткой при показе отчетов. При установке значения ON, утилита SQL*Plus приостанавливает работу перед выводом каждой страницы отчета, ожидая нажатия клавиши Enter. Можно также задать текст, который будет при этом выводиться.

RECSEP

WR[APPED] | EA[CH] | OFF

Устанавливает выдачу разделителей между записями (после перенесенных на несколько строк, после всех или никогда).

RECSEPCHAR

<символ>

Задает символ, из которого состоит разделитель записей. По умолчанию используется пробел. Разделитель записей представляет собой строку символов RECSEPCHAR, повторенных LINESIZE раз.

SERVEROUT[PUT]

ON | OFF [SIZE <к-во строк>] [FOR[MAT] WRA[PPED] | WOR[D_WRAPPED] | TRU[NCATED]]

Управляет показом результатов хранимых процедур или анонимных блоков PL/SQL (выданных с помощью пакета DBMS_OUTPUT), размером буфера и переносом строк. Размер буфера должен быть в пределах от 2000 (стандартное значение) до 1000000.

SHOW[MODE]

ON | OFF

Управляет выдачей значений системных переменных при изменении. Если задано значение ON, при изменении выдается старое и новое значение.

SQLBL[ANKLINES]

ON | OFF

Разрешает или запрещает использование пустых строк в сценариях и командах SQL.

SQLC[ASE]

MIX[ED] | LO[WER] | UP[PER]

Управляет изменением регистра символов в команде перед выполнением. По умолчанию (MIXED) регистр символов остается неизменным. Иначе все символы, включая литералы в кавычках, переводятся в соответствующий регистр. Содержимое буфера SQL при этом не меняется.

SQLCO[NTINUE]

<текст>

Задает текст, выдаваемый утилитой SQL*Plus в качестве приглашения для продолжения ввода команды. По умолчанию используется символ >.

SQLN[UMBER]

ON | OFF

Управляет выдачей приглашения для ввода второй и последующих строк команды или блока PL/SQL. Если указано значение ON, в качестве приглашения выдается номер строки, если OFF - значение системной переменной SQLPROMPT.

SQLPRE[FIX]

<символ>

Задает префиксный символ SQL*Plus (по умолчанию - #). Если по ходу ввода команды или блока PL/SQL ввести в отдельной строке команду, начинающуюся префиксным символом, эта команда немедленно выполнится. Префиксный символ должен быть не алфавитно-цифровым.

SQLP[ROMPT]

<текст>

Задает приглашение командной строки SQL*Plus (по умолчанию - "SQL> ").

SQLT[ERMINATOR]

<символ> | ON | OFF

Задает символ, завершающий и посылающий на выполнение команду SQL. По умолчанию используется точка с запятой. Если задать значение OFF, то для завершения придется вводить пустую строку или BLOCKTERMINATOR, если установлена системная переменная SQLBLANKLINES.

SUF[FIX]

<текст>

Задает стандартное расширение командного файла. По умолчанию используется sql.

TAB

ON | OFF

Управляет использованием символа табуляции для форматирования результатов запросов в SQL*Plus.

TERM[OUT]

ON | OFF

Управляет выдачей результатов команд на экран. Если задать значение OFF, результат выполнения команд (кроме интерактивных) не будет выдаваться на экран, но будет записываться в файл, указанный в команде SPOOL.

TI[ME]

ON | OFF

Управляет выдачей текущего времени. При установке значения ON в приглашении выдается текущее время.

TIMI[NG]

ON | OFF

Управляет выдачей статистики о времени. При установке значения ON после выполнения команды или командного файла выдается время выполнения с точностью до сотых долей секунды.

TRIM[OUT]

ON | OFF

Управляет усечением хвостовых пробелов в выдаваемых строках. При установке значения ON (принято по умолчанию), хвостовые пробелы усекаются. Эта переменная учитывается только при выводе на экран.

TRIMS[POOL]

ON | OFF

Управляет усечением хвостовых пробелов в строках, сбрасываемых в файл или на принтер, аналогично TRIMOUT.

UND[ERLINE]

ON | OFF | <символ>

Задает символ, используемый для подчеркивания заголовков столбцов. По умолчанию используется символ дефиса. Значение OFF отключает подчеркивание заголовков.

VER[IFY]

ON | OFF

Управляет выдачей текста SQL-операторов и PL/SQL-блоков до и после замены подставляемых переменных значениями.

WRA[P]

ON | OFF

Управляет усечением слишком длинных строк результатов. По умолчанию, остатки строк переносятся на следующую строку. При задании значения OFF - усекаются.

Рассмотрим пример задания некоторых системных переменных SQL*Plus:

SQL> set time on

16:43:39 SQL> set timing on

16:43:43 SQL> set underline off

16:43:55 SQL> set pagesize 1000

16:44:02 SQL> set linesize 128

16:44:12 SQL> select * from dept

16:44:18 2 ;

DEPTNO DNAME LOC

10 ACCOUNTING NEW YORK

20 RESEARCH DALLAS

30 SALES CHICAGO

40 OPERATIONS BOSTON

50 TRAINING KIEV

Затрач.время: 00:00:00.80

16:44:20 SQL>