Oracle sql plus команды
Здесь собраны примеры, демонстрирующие некоторые из полезных возможностей Oracle SQL*Plus. Все приведенные скрипты выполнены в SQL*Plus Release 11.2.0.1.0 в консоли Windows.
Подборка носит отчасти ностальгический характер, поскольку в последние годы всю повседневную оперативную работу с СУБД Oracle я делаю в PL/SQL Developer. Однако, SQL*Plus остается незаменимым для работы в консоли Unix/Linux и из shell-скриптов. Пример в конце статьи - только для Unix/Linux.
Для упрощения демонстрации написаны несколько маленьких скриптов-"подпрограмм", которые в дальнейшем вызываются из других скриптов. Вот они:
Чтобы избежать этого "спама", будем запускать SQL*Plus в молчаливом (silent) режиме. Следующий скрипт использует приведенные выше скрипты-подпрограммы и демонстрирует работу в silent режиме:
Запускаю скрипт в silent режиме:
Переходим собственно к демонстрации полезных возможностей SQL*Plus.
Скрипт define.sql показывает, как определить, использовать и очистить переменные (substitution variables) в SQL*Plus, а также выводит значения встроенных переменных:
Следующий скрипт показывает, что делать, если необходимо использовать символ & буквально (как символ):
Как видим, в первом случае SQL*Plus запросил значение для переменной good , интерпретировав символ & как префикс имени переменной, значение которой необходимо подставить. А во втором случае, после выполнения директивы set define off , символ & был использован буквально.
Следующий скрипт вычисляет значение выражения, введенного пользователем, и выводит результат.
Пользователь может ввести любое допустимое выражение SQL, в том числе, использовать функции SQL. Узнаем, например, последнюю дату текущего месяца:
Вычисляемые или извлекаемые из базы данных значения SQL*Plus позволяет присвоить переменным, чтобы использовать эти значения далее по ходу скрипта. Как это делается, демонстрирует следующий скрипт:
Следующий скрипт демонстрирует вывод результата запроса к БД в файл. Принимаются меры, чтобы в файл не попало ничего лишнего: ни заголовки, ни счетчик извлеченных строк.
Только что выполненный скрипт - простейший прототип отчета, выводимого в текстовый файл. Другое применение данной техники - динамически сформировать скрипт и выполнить его. Например, следующий скрипт выдает привилегии на чтение всех таблиц текущей схемы указанному пользователю ( grantee ):
Выполню скрипт, сделав таблицы текущей схемы публично доступными:
По аналогии с данным скриптом легко создать скрипт, создающий синонимы для чужих таблиц, права на которые имеет текущий пользователь, или скрипт, противоположный данному, - отбирающий привилегии на все таблицы схемы у указанного пользователя.
А следующий пример демонстрирует передачу параметров в вызываемый скрипт:
Следующий скрипт демонстрирует прерывание работы SQL*Plus при возникновении ошибки SQL или ошибки операционной системы:
SQL*Plus - программа для работы с СУБД Oracle посредством командной строки. Используя SQL*Plus можно выполнять команды SQL и PL/SQL в интерактивном режиме или используя сценарий.
Основное преимущество SLQ*Plus - доступность, т.к. инструмент доступен практически всегда, когда в системе установлен Oracle. При этом это достаточно мощный инструмент, используя который можно решать различные задачи на удаленных машинах.
К написанию этой статьи меня подтолкнула книга "Oracle SQL*Plus: The Definitive Guide, 2nd Edition", написанная Jonathan Gennick. Как обычно, появилось желание систематизировать информацию и представить ее в удобном виде.
При этом сразу считаю нужным оговориться, что я использую SQLplus для написания и выполнения скриптов на удаленных машинах, в этой статье описываю именно используемые для этого команды.
Область возможного использования SQLplus при этом гораздо шире, например - построение отчетов, в том числе в формате HTML.
Параметры, подключение к базе, запуск скриптов
Выполнить несколько строк кода (не передавая отдельный файл со скриптом), unix:
Выполнение SQL запросов
Запрос может состоять из нескольких строк, содержать комментарии, но не может содержать внутри пустые строки.
Запрос может быть выполнен тремя способами:
- точка с запятой в конце запроса
- строка с слешем "/" после запроса
- пустая строка после запроса (будет помещен в буфер, но не выполнен немедленно)
Выполнение PL/SQL блоков
Пример PL/SQL блока:
Правила выполнения PL/SQL блоков:
- Первое слово в PL/SQL блоке должно быть из списка: BEGIN, DECLARE, CREATE PROCEDURE,
CREATE FUNCTION, CREATE TRIGGER, CREATE PACKAGE, CREATE TYPE, CREATE TYPE BODY. Регистр не важен. - Блок может состоять из нескольких строк
- Можно вставлять /* комментарии */, они также могут быть на несколько строк
- Пустые строки не разрешены внутри блока
Сигнал к выполнению блока может быть подан двумя путями:
- Строка, содержащая только слеш "/" после блока - выполнить сразу
- Строка, содержащая точку "." после блока - поместить в буфер. Содержимое буфера может быть выведено командой LIST и выполнено, путем указания одиночного слеша "/" или команды RUN.
Одиночное выражение PL/SQL может быть выполнено, используя:
В случае ошибок, при выполнении процедуры, можно отобразить их выполнив команду:
Работа с переменными
Переменные могут быть заданы двумя способами:
Если уже была определена &&variable, то значение будет подставлено во все дальнейшие переменные как &variable так и &&variable.
Если была определена &&variable, и скрипт запущен повтороно в ходе той же сессии работы с SQLplus - будет использовано старое значение переменной. Чтобы этого избежать - можно запрашивать интерактивный ввод в скрипте принудительно, испольтзуя команду:
ACCEPT можно использовать для валидации:
Для ввода дат в определенном формате:
SQL*Plus поддерживает четыре типа переменных: CHAR, NUMBER, BINARY_FLOAT, and BINARY_DOUBLE. При вводе с клавиатуры переменная будет типа CHAR.
Несмотря на это, можно использовать NEW_VALUE, чтобы задать числовую переменную, полученную как результат запроса.
Bind-переменные могут использоваться для передачи данных между PL/SQL и SQL блоками:
Присвоить bind-переменной значение &-переменной:
Вывести значение bind-переменной:
Присвоить &-переменной значение bind-переменной:
Получаем OUT-параметр процедуры в bind-переменную:
Условное выполнение в SQLplus:
Пример скрипта, принимающего несколько переменных на вход в формате c возможностью задать дефолтные значения:
Настройки выполнения скриптов
Действуют на протяжении сессии в SQLplus.
Запомнить настройки перед выполнением скрипта и вернуть обратно по завершении выполнения:
Что, пошли дальше? База созданная типовой установкой, работает!? Замечательно! Теперь давайте попробуем сделать что-то полезное! Тем более, что уже руки наверное чешутся! Думаю пришло самое время обратить внимание на приложение с именем SQL Plus!
Запускайте! В первом шаге мы уже запускали SQL Plus! Но только для того, чтобы убедиться, что все нормально. Сейчас с помощью "Плюса", мы попробуем научиться самым азам работы с сервером БД и немного поизображать админа БД. Итак, запустили?
В поле "Имя польз.:", пишем system, в поле "пароль:" пишем manager, а вот в поле "Строка связи:" пишем то самое имя сетевой службы, созданное в прошлый раз. Если мне не изменяет память, то звали ее PROBA! Если все прошло хорошо, то мы увидим примерно следующее:
Это значит, что все прекрасно, и вы как администратор допущены в самое сердце вашего сервера Oracle! Объясню сразу и без вариантов, здесь будет рассматриваться работа и примеры в командной строке SQL Plus! Никаких красивых, визардов и волшебников не БУДЕТ. И вот почему, если вы действительно хотите усвоить довольно мощную БД oracle, а так же ее встроенный язык программирования PL/SQL, то начинать будем, с КОММАНДНОЙ СТРОКИ! Я в свое время навидался, крутых, навороченных, молодых людей, которые понятия не имели, не то что о возможности, а даже не подозревали, что каталог создается, в командной строке DOS! :) К стати вопрос на засыпку, а как создать каталог на диске в строке DOS?
Так что, тот, кто привык ставить галочки в визардах, советую, немного напрячь воображение или. ну это уже решать вам! :) Так же могу сказать, что SQL Plus, действительно имеет ряд недостатков и конечно же в дальнейшем, мы перейдем на что-то более передовое, Но. Как инструмент для истинного знатока администрирования БД Oracle, это то что, как раз и достаточно! Вот так. :) Ладно, хватит болтать, пора действовать!
В ответ на это приглашение
Введите примерно следующее:
Нажмите Enter и увидите:
Это интерпретатор команд предлагает ввести следующую строку для вашего выражения если написать, что-то еще, то появится:
То есть среда предлагает вам ввести выражение построчно столько сколько нужно! Например, если вы намереваетесь, записать какой либо сложный запрос!
Да, но нам нужно выполнить только один короткий оператор и увидеть результат!
Да запросто! Там где было 2, введите символ "/" и снова нажмите Enter это означает, что вы закончили ввод и собираетесь, получить результат!
Я получил примерно следующее:
Что значит, что, пользователь SYSTEM, имеет в своей схеме 64 объекта БД! Если фраза не совсем понятна, пока не напрягайтесь все будет далее. :)
Сейчас в ответ на приглашение SQL> введите еще раз "/" и Enter!
И опять: Так можно делать хоть целый день! Но боюсь, что вас примут за . а не важно. :)
Это значит, что наше выражение где-то внутри и поле ввода "/" может выполняться хоть сто раз! Еще выражение "/" можно заменить, написав RUN вот так:
Видите, теперь мы снова увидели выражение, которое содержится в строковом буфере и поле нажатия Enter не нужно больше ничего!
Если же вы просто хотите посмотреть весь строковый буфер SQL Plus, то введите примерно следующее:
А вот и сам строковый буфер!
Еще она полезная команда SQL Plus это EDIT, на ней остановимся подробнее.
После нажатия Enter появится Блокнот, мое любимое орудие при написании скриптов PL/SQL. В окне блокнота, будет строка:
Если ничего не менять, то она же и останется, если вместо нее написать, например:
То при закрытии будет задан вопрос: Сохранить изменения в файле afiedt.buf!
Вот он то и содержит, то, что хранит буфер, а лежит он обычно в каталоге C:\Oracle\Bin! Говорим да сохранить, и видим следующее:
Что-то не то, а! Вводим "/"! Упсс, получилось!
У пользователя SYSTEM 17 таблиц в схеме! Просто замечательно! Еще можно делать следующее, создайте каталог на вашем диске, скажем Temp и поместите в него файл содержащий следующее:
Откроется Блокнот и покажет содержимое файла, вроде бы бесполезно, но не совсем. дальше пригодится! Да, напоследок еще пара полезных команд, если экран SQL Plus сильно захламлен введите CLEAR SCREEN и будет чисто! Если надоели команды в буфере напиши CLEAR BUFFER и привет. Все очистится! Пока можете потренироваться с вышеизложенным, но советую сменить пользователя, так как работа в этом может при неосторожных действиях завалить сервер. Как менять пользователя на ходу и кое что еще в следующем шаге!
Для работы в SQL*Plus, как для выполнения простых команд, так и для разработки сценариев по сбору информации из базы данных, необходимо уметь пользоваться командами SQL*Plus двух основных видов. К первому относятся команды, которые на самом деле что-то делают и потому могут называться рабочими (как, например, RECOVER , которая выполняет восстановление базы данных), а ко второму — команды, которые позволяют получать удобный для прочтения вывод от запросов и потому называются командами форматирования.
В настоящей статье вы ознакомитесь с важнейшими представителями обоих этих видов команд. В частности, в этом разделе рассматриваются команды, которые что-то делают, а в следующем — те, что позволяют форматировать вывод и получать отчеты.
Команда SQLPROMPT
Администратору баз данных обычно приходится иметь дело с несколькими базами данных. Из-за этого при выполнении множества задач на протяжении дня очень легко забыть, к какой базе данных подключен тот или иной сеанс SQL*Plus. Поэтому во избежание допущения грубых ошибок (вроде удаления производственных таблиц вместо разрабатываемых или тестируемых), следует всегда настраивать среду так, чтобы имя экземпляра базы данных постоянно отображалось в приглашении, напоминая о том, с какой базой данных происходит взаимодействие.
Для настройки приглашения SQL*Plus так, чтобы в нем отображалось имя базы данных, служит приведенная ниже команда, в которой используется специальная предопределенная переменная _CONNECT_IDENTIFIER (предопределенные переменные подробно рассматриваются в разделе “Предопределенные переменные SQL*Plus” далее в главе):
Обратите внимание, что команда SET приводит к немедленному изменению приглашения в интерфейсе SQL*Plus. После выдачи этой команды приглашение приобретает более значимый вид, ясно указывающий на то, с какой базой данных происходит взаимодействие, и избавляет от необходимости делать по этому поводу какие-либо предположения. В данном примере оно указывает на то, что в текущий момент подключение установлено с базой данных nick .
Для настройки приглашения SQL*Plus можно также использовать и другие специальные предопределенные переменные. Например, с помощью переменной _USER в приглашении отображается имя пользователя:
Применив одновременно переменные _USER и _CONNECT_IDENTIFIER , можно сделать так, чтобы в приглашении отображалось и имя базы данных, и имя текущего пользователя:
Используя переменные _USER и _PRIVILEGE , в приглашении можно отображать не только имя текущего пользователя, но и привилегии, которыми он обладает:
С помощью переменных _USER , _DATE и _CONNECT_IDENTIFIER в приглашении можно отобразить имя пользователя, текущую дату и имя базы данных:
При желании строку, вроде показанной выше, легко добавить в файл login.sql ,чтобы желаемые значения устанавливались автоматически при каждом входе в систему, и их не приходилось настраивать вручную.
Команда DESCRIBE
Команда DESCRIBE описывает или выводит список столбцов таблицы вместе с их спецификациями. Кроме того, она позволяет получать описание процедур или пакетов Oracle. Эта команда чрезвычайно полезна при выполнении рутинных обязанностей администратора баз данных. Если, например, нет уверенности в том, какой столбец нужно выбрать в определенной таблице, но точно известно, к какой именно таблице следует выполнить запрос, с помощью команды DESCRIBE можно получить список всех столбцов, которые имеются в данной таблице. Поскольку команда DESCRIBE может применяться даже в отношении метаданных (словаря данных), с ее помощью можно также очень легко знакомиться с информацией о таблицах и столбцах и их применении, которая является критически важной для работы с базой данных.
В листинге ниже показано, как команда DESCRIBE позволяет отображать столбцы и типы столбцов таблицы.
Команда HOST
Команда HOST позволяет выполнять в SQL*Plus команды операционной системы.Например, может возникнуть необходимость посмотреть, существует ли некий файл в определенном каталоге, или выдать команды cp или tar на уровне UNIX , а затем вернуться в сеанс SQL*Plus и возобновить взаимодействие с базой данных Oracle.
Ниже приведен пример применения команды HOST :
В этом примере команда HOST помогает скопировать файл new.sql из указанного каталога в каталог tmp .
С помощью команды HOST можно выполнять практически все те же команды, которые доступны на уровне операционной системы. Слово HOST можно заменять восклицательным знаком (!):
На заметку! В случае ввода команды HOST без параметров вы попадаете в каталог операционной системы, из которого изначально запускали сеанс SQL*Plus.
По завершении работы с операционной системой достаточно ввести в командной строке exit и на экране снова появится приглашение покинутого ранее сеанса SQL*Plus.
Команда SPOOL
Команда SPOOL позволяет сохранять вывод одного и более SQL-операторов в файлах операционной системы, как в UNIX, так и в Windows:
По умолчанию создаваемые этой командой буферные (spooled) текстовые файлы сохраняются как имя_файла.lst . Хотя по умолчанию принято сохранять вывод в файле,его также можно отправлять и на принтер. Буферизация файлов является очень полезным приемом при использовании SQL для оказания помощи в написании SQL-сценариев, и некоторые примеры его применения можно найти в приложении.
С помощью команды SPOOL можно добавлять данные в существующий буферный файл, а также полностью заменять его (по умолчанию происходит замена). Ниже приведен весь синтаксис этой команды:
Ниже описаны параметры команды SPOOL .
У команды SPOOL имеет множество способов применения. Например, она легко экспортируется для перехвата результатов оператора SELECT . Перед этим, однако, должен обязательно задаваться формат вывода путем определения значений для переменных HEADING, FEEDBACK и LINESIZE . Ниже приведен пример:
В этом примере файл employees.txt служит для перехвата всех данных из таблицы HR.EMPLOYEES . Далее его можно будет использовать для загрузки данных в другую таблицу с помощью утилиты SQL*Loader.
Команды ACCEPT и PROMPT
Команда ACCEPT применяется для считывания вводимых пользователем данных с экрана и сохранения их в какой-то переменной. Эту переменную можно либо указать самостоятельно, либо позволить создавать ее SQL*Plus. Обычно команда ACCEPT применяется для считывания данных, вводимых пользователем в ответ на приглашения в интерфейсе SQL*Plus.
Команды ACCEPT и PROMPT в SQL-сценарии обычно используются вместе и служат,как правило, для запроса у пользователя входных данных и сохранения этих данных в переменных для дальнейшей работы с ними в программе. Ниже приведен пример, иллюстрирующий использование этих команд:
Команда EXECUTE
При использовании сценариев, которые вызывают PL/SQL-код в форме процедур и пакетов, для фактического запуска отдельных процедур в пакете необходимо применять команду EXECUTE . Ниже приведен пример:
Обратите внимание, что для выполнения процедуры или функции можно специфицировать как ключевое слово EXECUTE , так и ключевое слово EXEC .
Команда PAUSE
Часто бывает так, что сценарии при выполнении генерируют вывод, который не умещается на экране. Этот вывод быстро пролетает перед глазами на экране и исчезает до того, как его удается прочитать. Разумеется, можно воспользоваться командой SPOOL для перехвата всего вывода целиком, но делать так постоянно не выгодно, поскольку тогда придется тратить на создание и прочтение файлов с выводом сценариев целый день. Поэтому лучше использовать другую предлагаемую в SQL*Plus команду, а именно — PAUSE , которая позволяет приостанавливаться после отображения каждого целого экрана вывода. Переход к следующему экрану вывода осуществляется просто нажатием клавиши <Enter>.
Приведенный ниже пример демонстрирует использование команды PAUSE для замедления отображения вывода на экране терминала:
После настройки команды PAUSE вывод больше не будет быстро проскакивать на экране при каждом выполнении SQL-команды. Вместо этого SQL*Plus будет отображать один экран вывода, и ожидать нажатия клавиши <Enter>. При запуске запросов с командой PAUSE для просмотра первого экрана вывода тоже необходимо нажимать клавишу <Enter>.
1. Отобразите справку SQLPLUS, команда имеет следующий вид: HELP INDEX
2. Проверьте введение и синтаксис соответствующих команд, команда выглядит следующим образом: HELP start
3. @ равно команде запуска, запустить файл сценария sql, вы можете вызвать файл в текущем каталоге или по указанному пути
4、@@ < url| file_name[.ext] >[arg . ]
Выполнить инструкцию SQL * Plus в указанном скрипте. Эта команда выполняет ту же функцию, что и команда @ (символ "at"). Это полезно при выполнении вложенных командных файлов, поскольку он найдет указанный командный файл по тому же пути или URL-адресу, что и командный файл, который его вызвал.
5. Повторно запустите последнюю команду sql.
6, напишите интерактивную команду принять
7. a [ppend] Добавить указанный текст после текущей строки буфера sql
8. Запуск или остановка автоматического архивирования онлайн-журналов повторного выполнения, ручное (отображение) архивирование указанных журналов повторного выполнения или отображение информации о файлах журнала повторного выполнения.
9. Заблокируйте то же значение, отображаемое в столбце BREAK ON break_column
10. BTI [TLE] [printspec [текст | переменная] . ] | [ON | OFF] Установите форматированный нижний колонтитул
11、C[HANGE] sepchar old [sepchar [new [sepchar]]]
12. Сбросить текущее значение параметра CL [EAR] .
13, команда COL: форматирование формы отображения столбца
1). Измените заголовок столбца по умолчанию.
2). Измените имя столбца ENAME на новое имя столбца EMPLOYEE NAME и поместите новое имя столбца в две строки
3). Измените длину отображения столбца.
4). Установите выравнивание заголовков столбцов JUS [TIFY]5). Не позволять отображать одну колонку на экране NOPRI [NT] | PRI [NT]
6). Отформатируйте отображение столбца типа ЧИСЛО (9999,99, 999 999,0, 999 999,00 долларов США, 0000,00, aXX, гггг-мм-дд чч24: ми: сс).
7). При отображении значения столбца, если значение столбца имеет значение NULL, замените значение NULL на текстовое значение.
8). Установите для атрибутов отображения всех столбцов значения по умолчанию.
SQL> CLEAR COLUMNS
14. Если вы использовали команду break для разделения строк в отчетах на наборы, вы можете выполнить вычисления для каждого подмножества. вычислить
15, подключитесь к базе данных, подключитесь
16, определите пользовательскую переменную DEFINE
17, удалить текущую строку
del
del n
del m n
18. Показать структуру таблицы ОПИСАТЬ
SQL> desc table_name
19. Отключить разъединитель
20. Отредактируйте текущий ввод
21, выполните хранимую процедуру EXECUTE
22. Выйдите из sqlplus и используйте EXIT.
23. Импортируйте оператор sql файла в буфер sql и получите имя_файла
24. Не выходя из sql * plus, выполните в sql * plus команду операционной системы:
25. Добавьте одну или несколько строк ниже текущей строки sql-буфера i [nput]
26. Отобразите оператор sql в буфере sql, список n отображает n-ю строку в буфере sql и делает n-ю строку текущей строкой.
27. Приостановите процесс выполнения и продолжите выполнение после ожидания ответа пользователя.
28, отображение переменных привязки печати
PL/SQL procedure successfully completed.
29. Вывести на экран указанную информацию или пустую строку.
30, выход выйти
31. Выполните только что выполненный оператор SQL еще раз.
32. Сохраните оператор sql в буфере sql в файл.
33. Завершите работу базы данных SHUTDOWN.
34. Вывести отображаемый контент в указанный файл.
SQL> SPOOL file_name
Все содержимое экрана содержится в файле, включая введенный вами оператор SQL.
Вывод катушки выключен
SQL> SPOOL OFF
Только когда вывод спула выключен, содержимое вывода будет видно в файле вывода.
35. Откройте базу данных ЗАПУСК.
36. В sql * plus переключитесь в командную строку операционной системы, после выполнения команды операционной системы вы можете снова переключиться на sql * plus:
37. Установите верхний заголовок каждого отчета.
38. Отображение значения системной переменной sql * plus или значения переменной среды sql * plus.
1). Показать значение текущей переменной окружения:
2). Отобразите значение параметра инициализации:
show PARAMETERS [parameter_name]
3) .Показать версию базы данных:
4). Отображение размера SGA
5). Отображение текущего имени пользователя.
39. Команда Set через переменную SET может установить специальную среду для SQL * PLUS.
arraysize
Количество строк, извлекаемых из базы данных за один раз, значение по умолчанию - 20, максимальное значение - 5000, чем больше значение, тем больше требуется памяти, что может повысить эффективность запроса. Когда он превышает 1000, эффект невелик.
autocommit
linesize
Количество символов, отображаемых в одной строке, значение по умолчанию - 80
пример:
SET LIN[ESIZE] <80|n>
Если выводимое содержимое строки превышает количество символов, которое может быть установлено в строке, оно будет отображаться в виде разрыва строки.
feedback
Отображать ли количество строк, запрошенных или измененных оператором SQL, то есть количество записей, возвращаемых запросом, включено - включено, выключено - выключено
SET FEED[BACK] <6|n|ON|OFF>
По умолчанию количество строк результата отображается только тогда, когда результат превышает 6 строк. Если установить обратную связь 1, она будет возвращаться независимо от количества запрошенных строк. Когда он выключен, количество строк в запросе никогда не отображается.
пример:
show feedback
select * from scott.dept;
set feedback off
select * from scott.dept;
Отображать ли вывод во время хранения, отключение запрещено, на выводе на дисплеи
пример:
show serveroutput
pagesize
Установите количество строк на странице, если оно установлено на 0, тогда весь выходной контент будет одной страницей, и заголовки столбцов не отображаются
trimout
Разрешены ли пробелы в конце каждой строки, on удаляет пробелы в конце каждой строки в выводе перенаправления (спула), а off позволяет отображать пробелы в конце
heading
Следует ли печатать заголовки столбцов в отчете, то есть отображать ли имена столбцов каждой строки в отчете, чтобы печатать заголовки столбцов, выключено запрещает печать заголовков столбцов
verify
Отображать ли операторы до и после замены переменной подстановки, отображать (значение по умолчанию), отключено запрещает перечисление
40 OPERATIONS BOSTON
Следует ли многократно отображать выполняемый оператор SQL, относится к тому, перечисляет ли команда start каждую строку команд в файле, on перечисляет команды, а off запрещает список
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
отображает дату, на отображает текущее время, выкл. запрещает отображение
пример:
показать время
set time on|off
timing
показывает время выполнения, on показывает время выполнения команды sql или блока pl / sql, off запрещено
пример:
set TIMING ON
Следует ли усекать элемент данных, отключать усечение элемента данных, включение позволяет изменить элемент данных на следующую строку, если длина выходной строки больше установленной длины строки (команда set linesize n). При включении переноса символы в строке вывода будут отображаться в другой строке, в противном случае символы в строке вывода будут обрезаны и не отображаться.
пример:
SET WRA[P] ON
sqlprompt
Установить командную строку sqlplus
newpage
Количество пустых строк, которые должны быть напечатаны между заголовком и верхним заголовком каждой страницы, 0 означает разрыв строки между страницами.
Установите разделение между страницами
SQL> SET NEWP[AGE] <1|n|NONE>
При установке новой страницы n между страницей и страницей будет n пустых строк.
Если установить новую страницу none, между страницей и страницей не будет промежутка.
showmode
При выполнении команды set, следует ли отображать новое значение и старое значение
sqlcase
Преобразование регистра команды sql и блока pl / sql перед выполнением команды
numformat Числовой формат
Установить формат отображаемого значения по умолчанию
Ширина по умолчанию для настройки отображаемого значения
Следует ли подчеркивать заголовки столбцов
DEPTNO DNAME LOC
10.00 ACCOUNTING NEW YORK
20.00 RESEARCH DALLAS
30.00 SALES CHICAGO
40.00 OPERATIONS BOSTON
Как отформатировать пустое пространство в выводе, использовать символы табуляции для включения и пробелы для выключения
sqlnumber
При выполнении sql или pl / sql установите подсказку для второй и последующих строк, на подсказках - номер строки, на подсказках - на значение sqlprompt
define
в командах сканирования для замены переменных и их значений.
off не проверяет команды, заменяющие переменные, и не использует вместо них их значения.
Следует ли сканировать существующие переменные и значения подстановки, выключено запрещает обработку переменных и значений подстановки, а включено разрешает обработку
Установите количество пробелов между выходными столбцами, максимальное значение - 10
Читайте также: