КаталогОглавлениеИндекс раздела


Основы работы в среде Oracle SQL*Plus 8.0

1. Некоторые общие сведения об SQL*Plus

SQL*Plus является приложением в составе СУБД Oracle, обеспечивающим интерактивное выполнение операторов языка SQL для определения данных, манипулирования данными и определения правил доступа к СУБД Oracle. Часто используется также как инструмент конечного пользователя для создания отчетов.

SQL*Plus может применяться в режиме командной строки сеанса MS DOS или в режиме прикладного окна SQL*Plus. В данной лабораторной работе рекомендуется применять режим прикладного окна SQL*Plus. Поэтому ниже кратко описывается применение SQL*Plus именно в таком режиме. Полную информацию о возможностях приложения SQL*Plus и способах их использования - см. в документации СУБД Oracle:

2. Запуск SQL*Plus

Для запуска прикладного окна SQL*Plus в среде Windows NT/9x:


Рис.1. Окно Log On

Происходит соединение с базой данных, при этом появляется информационное окно "Oracle StartUp" (рис.2), сменяющиеся сообщения в котором отслеживают ход процесса соединения. После завершения процесса окно "Oracle StartUp" исчезает, и окно приложения SQL*Plus приобретает вид, показанный на рис.3.


Рис.2. Окно Oracle Startup


Рис.3. Окно приложения SQL*Plus

3. Ввод и выполнение запросов в окне приложения SQL*Plus

SQL*Plus выводит приглашение SQL> в своем окне.

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

При завершении оператора следует поставить точку с запятой и нажать на клавиатуре клавишу Enter.

Оператор SQL выполняется и результаты его выполнения выводятся в окно приложения. Пример ввода и выполнения оператора SQL показан на рис.4.


Рис.4. Пример выполнения запроса

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

Ширина столбцов таблицы определяется типами данных в столбцах.

Общая ширина строки вывода - не более 97 символов. Если строка превышает указанное число, она разбивается на две и более строк (при этом удобство восприятия таблицы существенно ухудшается).

Последняя строка - количество выбранных строк - выводится только в том случае, если количество выбранных строк больше 5.

При выполнении операторов модификации данных (INSERT, UPDATE, DELETE) результат выполнения запроса представляется в виде единственной строки, сообщающей, сколько строк таблицы подверглось изменениям, например:

SQL> insert into location values(2,'2');
1 row created.
или
SQL> delete  from location where location_id<5;
2 rows deleted.

Вся информация, введенная и выведенная в ходе сеанса сохраняется в окне приложения SQL*Plus и может быть возвращена в зону видимости при помощи ползунка протяжки.

В среде SQL*Plus можно выполнять следующие операторы SQL:

ALTER EXPLAIN SAVEPOINT
ANALYZE     GRANT SELECT
AUDIT INSERT SET ROLE
COMMENT LOCK TABLE     SET TRANSACTION
COMMIT NOAUDIT TRUNCATE
CREATE RENAME UPDATE
DELETE REVOKE  
DROP ROLLBACK  

Синтаксис и семантика SQL подробно описаны в:

4. Использование меню приложения SQL*Plus

В Главном меню окна приложения предлагает подменю:

    File    Edit    Search    Options    Help

Меню File содержит следующие команды:

Команды меню File Описание
Open Команда Open читает ранее сохраненный командный файл SQL. По умолчанию командные файлы SQL имеют расширение .SQL.
Save Команда Save имеет три подкоманды: Save Create, Save Replace, и Save Append.
  • Save Create
Сохраняет содержимое буфера (последний выполненный запрос) SQL*Plus в командном файле SQL с заданным именем.
  • Save Replace
Заменяет содержимое существующего командного файла SQL содержимым буфера SQL*Plus. Если файл с заданным именем не существует, создает его.
  • Save Append
Добавляет содержимое буфера SQL*Plus в конец командном файле SQL с заданным именем.
Save as Сохраняет содержимое буфера SQL*Plus в командном файле SQL с заданным именем.
Spool Команда Spool имеет две подкоманды: Spool File и Spool Off.
  • Spool File
Записывает результат запроса в файл. По умолчанию файл результата получает расширение .LST.
  • Spool Off
Отменяет запись результатов в файл
Run Команда Run отображает и выполняет оператор SQL, находящийся в буфере SQL*Plus.
Cancel Команда Cancel отменяет выполняющуюся операцию. (То же самое делает комбинация клавиш Ctrl+C).
Exit Команда Exit фиксирует все изменения, сделанные в базе данных и закрывает окно приложения SQL*Plus.

Меню Edit содержит следующие команды:

Команды меню Edit Описание
Copy
Past
Назначение команд Copy и Past такое же, как и во всех других приложениях.
Clear Команда Clear очищает окно приложения и буфер SQL*Plus. (То же самое делает комбинация клавиш Shift+Del).
Edit Команда Edit имеет две подкоманды: Invoke Editor и Define Editor.
  • Invoke Editor
Загружает содержимое буфера SQL*Plus в текстовый редактор. По умолчанию содержимое буфера составляет файл AFIEDT.BUF.
  • Define Editor
Определяет текстовый редактор, который будет вызываться подкомандой Invoke Editor.

Меню Search содержит следующие команды:

Команды меню Search Описание
Find Команда Find ищет в окне приложения SQL*Plus заданный текст. Поиск начинается с начала содержимого окна. (То же самое делает комбинация клавиш Alt+F3).
Find Next Команда Find Next ищет в окне приложения SQL*Plus следующее вхождение заданный текст. (То же самое делает клавиша F3).

Меню Options содержит следующие команды:

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

5. Практические приемы редактирования запросов.

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

Поэтому мы предлагаем следующий порядок работы в среде SQL*Plus:


КаталогОглавлениеИндекс раздела