- •Приложение. Утилита sql*Plus. Создание и выполнение сценариев Назначение sql*Plus
- •Базовые понятия
- •Расширенные формулы Бэкуса-Наура
- •Запуск sql*Plus и выход из него
- •Опции командной строки
- •Регистрационная информация
- •Начальный сценарий
- •Использование профилей сайта и пользователя
- •Выход из sql*Plus
- •Подключение к стандартной и удаленной базе данных
- •Использование команды connect
- •Формат строки связи для удаленной базы данных
- •Основные команды
- •Выполнение команд Буфер sql
- •Выполнение операторов sql
- •Выполнение блоков pl/sql
- •Выполнение команд sql*Plus
- •Прекращение команды по ходу работы
- •Получение информации о времени выполнения команды
- •Выполнение команд базовой операционной системы
- •Получение оперативной справки
- •Команда help
- •Команда describe
- •Редактирование команд
- •Форматирование результатов запросов
- •Стандартный формат столбцов
- •Команда column
- •Команда break
- •Команда compute
- •Команда clear
- •Команды btitle и ttitle
- •Команды repheader и repfooter
- •Копирование данных из одной базы данных в другую
- •Команды для работы с файлами
- •Создание командных файлов
- •Команда save
- •Команда edit
- •Загрузка командных файлов
- •Выполнение командных файлов
- •Передача параметров командных файлов при вызове
- •Сокращенные формы команды start (@, @@)
- •Коды возврата командных файлов
- •Комментарии в командных файлах
- •Запоминание установок среды sql*Plus
- •Запись в файл и печать результатов выполнения запросов
- •Параметры командных файлов
- •Команды define и undfefine
- •Использование подставляемых переменных
- •Подстановка без повторного запроса
- •Подстановка параметров командных файлов
- •Ограничения
- •Системные переменные, влияющие на подстановку
- •Взаимодействие с пользователем
- •Команда prompt
- •Команда accept
- •Команда pause
- •Связываемые переменные
- •Команда variable
- •Команда print
- •Трассировка операторов
- •Настройка среды sql*Plus
- •Команда set
- •Команда show
- •Другие полезные команды
- •Команда execute
- •Команда password
- •Команды администрирования базы данных
- •Запуск базы данных
- •Остановка базы данных
- •Управление архивированием журналов повторного выполнения
- •Восстановление базы данных
- •Дополнительные источники информации
Редактирование команд
Команды SQL*Plus не попадают в буфер, поэтому редактировать их можно только по ходу ввода с помощью клавиши Backspace.
Утилита SQL*Plus поддерживает несколько команд редактирования текста в буфере. Они представлены в табл. 4.
Таблица 4. Команды редактирования SQL*Plus.
Команда |
Назначение |
A[PPEND] <текст> |
Добавляет <текст> в конце строки. |
C[HANGE] /<старая>[/<новая>[/]] |
Заменяет в строке подстроку <старая> строкой <новая>. Если <новая> не указана, просто удаляет подстроку <старая>. |
CL[EAR] BUF[FER] |
Удаляет все строки из буфера. |
DEL [*] |
Удаляет текущую строку. |
DEL <n> [* | <m> | LAST] |
Удаляет строку с номером <n>, или со строки <n> до текущей, до строки <m> или до последней строки, соответственно. |
DEL * [<n> | LAST] |
Удаляет с текущей строки по строку <n> или до конца, соответственно. |
DEL LAST |
Удаляет последнюю строку. |
ED[IT] [<имя файла>[.<расширение>]] |
Вызывает текстовый редактор операционной системы и загружает в него буфер или указанный файл. Если редактируется буфер, то в текущем каталоге создается файл afiedt.buf, в котором и находится результат редактирования. Загрузка изменений в буфер выполняется автоматически после выхода из редактора. Стандартный редактор в ОС UNIX задается переменной среды _EDITOR. По умолчанию в ОС UNIX используется редактор ed, а в Windows - Notepad. |
I[NPUT] [<текст>] |
Вставляет строку или <текст>, в том числе, из нескольких строк, в буфер после текущей строки. |
LIST [<n> | * | LAST] |
Выдает, соответственно, все строки в буфере SQL, строку с указанным номером, текущую или последнюю строку. |
LIST <n> [* | <m> | LAST] |
Выдает строку с номером <n>, все строки, начиная со строки с номером <n>, до текущей, строки с номером <m> или до конца буфера, соответственно. |
LIST * [<n> | LAST] |
Выдает все строки с текущей строки до строки с номером <n> или до последней строки, соответственно. |
Рассмотрим пример:
SQL> select ename, salary from emp;
select ename, salary from emp
*
ошибка в строке 1:
ORA-00904: неверно имя столбца
SQL> c /salary/sal
1* select ename, sal from emp
SQL> i where deptno=30;
SQL> /
ENAME SAL
---------- ----------
ALLEN 1600
WARD 1250
MARTIN 1250
BLAKE 2850
TURNER 1500
JAMES 950
6 строк выбрано.
SQL> list
1 select ename, sal from emp
2* where deptno=30
Форматирование результатов запросов
Результаты запросов в SQL*Plus можно дополнительно сформатировать. Утилита SQL*Plus позволяет управлять форматом столбцов, количеством строк на странице и дополнительными пустыми строками, заголовками страниц и т.д. В следующих разделах подробно рассмотрены наиболее часто используемые команды форматирования. Их применяют, если стандартный формат представления столбцов не подходит.