Переменные являются главными атрибутами, значения которых можно изменять при работе с SQL*Plus. В табл. ниже вкратце перечислены наиболее часто используемые переменные, о которых нужно знать администратору баз данных. Использование этих переменных на практике позволит довольно быстро к ним привыкнуть и обзавестись необходимыми навыками по работе с SQL*Plus.
Помимо показанных в таблице больше примеров применения этих переменных приводиться не будет, поэтому очень важно по-настоящему испробовать их в действии во время сеанса SQL*Plus. Инструкции по использованию всех переменных, в том числе и тех, что не перечислены в табл. ниже, всегда можно найти в руководствах по Oracle SQL*Plus.
На заметку! В табл. ниже внутри квадратных скобок показано, как выглядит полное имя команды.Пользоваться можно как короткой, так и длинной версией. Внутри фигурных скобок показаны параметры, которые могут задаваться для данной команды, и значения по умолчанию.Значение, указанное первым в фигурных скобках, является значением по умолчанию. Можно оставить все как есть, ничего не делая, а можно заменить значение по умолчанию каким-то другим, воспользовавшись синтаксисом SET значение_переменной.
Переменная | Функция | Пример применения |
ARRAY[SIZE] | Позволяет указать, какое количество строк должно извлекаться (fetch) из базы данных за раз. | SET ARRAY 50 |
AUTO[COMMIT] | Позволяет указать, как должны фиксироваться транзакции — автоматически либо вручную. | SET AUTO ON |
COLSEP | Позволяет указать, как текст должен отображаться между значениями столбцов. | SET COLSEP |
COPY[COMMIT] | Позволяет указать, насколько часто должна выполняться фиксация транзакций при использовании команды COPY. | SET COPY 10000 |
DEF[INE]{&/C/ON/OFF} | Позволяет указать, какой символ должен использоваться в качестве префикса при подстановке переменных. | SET DEFINE ON |
ECHO {OFF/ON} | Позволяет включать и отключать команду ECHO. В случае включения команды ECHO (ECHO ON) перед выводом каждой команды на экране будет сначала отображаться сама команда. | SET ECHO ON |
EDITF[ILE] | Позволяет указать, какое имя файла должно использоваться по умолчанию при применении стандартного редактора. | SET EDITFILE draft.sql |
FEED[BACK] {OFF/ON} | Позволяет указать, должен ли SQL*Plus отображать количество возвращаемых после запроса записей. | SET FEEDBACK OFF |
FLUSH {OFF/ON} | Позволяет указать, должен вывод помещаться в буфер или сбрасываться на экран. | SET FLUSH OFF |
HEA[DING] {OFF/ON} | Позволяет указать, должны распечатываться заголовки столбцов или нет. | SET HEAD OFF |
LIN[ESIZE] {80|n} | Позволяет указать, какое количество символов должно отображаться в каждой строке. | SET LINESIZE 40 |
LONG {80/n} | Позволяет указать максимальную ширину для значений LONG, CLOB,NCLOB и XMLType. | SET LONG 100000 |
NEWP[AGE] {1/n/none} | Позволяет указать, какое количество пустых строк должно идти в начале каждой новой страницы. | SET NEWPAGE 0 |
NUM[WIDTH] {10/n} | Позволяет указать, в каком формате должны отображаться числа. | SET NUM |
PAGES[IZE] {24/n} | Позволяет указать, сколько строк должно умещаться на каждой странице. | SET PAGESIZE 60 |
PAU[SE] {OFF/ON/TEXT} | Позволяет указать, какой объем вывода должен распечатываться на экране. | SET PAUSE ON |
SERVEROUT[PUT] | Позволяет указать, должен ли отображаться вывод кода PL/SQL. | SET SERVEROUTPUT ON{OFF/ON}[SIZE n] |
SQLP[ROMPT] {SQL> |TEXT} | Позволяет указать, как должно выглядеть командное приглашение в сеансах SQL*Plus. | SET SQLPROMPT 'salapati >' |
TERM[OUT] {OFF/ON} | Позволяет указать, должен отображаться вывод командных файлов или нет. | SET TERMOUT OFF |
TI[ME] {OFF/ON} | Позволяет делать так, чтобы отображалось время (TIME ON). | SET TIME OFF |
TIMI[NG] {OFF/ON} | Позволяет управлять отображением информации о времени в SQL-командах. | SET TIMING OFF |
VER[IFY] {OFF/ON} | Позволяет указать, должен ли отображаться SQL-текст после подстановки значений переменных. | SET VERIFY OFF |
Совет. Избавиться от сообщений X rows selected (Извлечено Х строк) и PL/SQL procedure successfully completed (Процедура PL/SQL успешно выполнена), отображаемых всякий раз после выполнения кода в SQL*Plus, можно с помощью такой команды:
SET FEEDBACK OFF
Все предпочитаемые настройки сеанса можно сохранять в файле и затем выполнять этот файл, подобно любому другому файлу SQL. Можно также создавать и сохранять несколько таких файлов для разных задач, если задание подразумевает получение множества отчетов с помощью интерфейса SQL*Plus.
В случае использования интерфейса Oracle SQL*Plus в Windows изменять значения переменных для сеанса можно через пункт Environment (Среда) меню Options (Параметры).Это приводит к отображению списка всех переменных среды, которые доступны для текущего сеанса, и позволяет изменять их значения любым желаемым образом в допустимых пределах. В случае же подключения к SQL*Plus через сеанс X Window на сервере UNIX такой простой способ для изменения значений переменных среды, к сожалению,не доступен.