BERDAFLEX Software Systems
Главная > Базы данных >Oracle > Статьи > Oracle Mobile SQL

Oracle Mobile SQL

Для работы с базами данных в последнее время появилось множество утилит, которые имеют удобный графический интерфейс. Однако, для получения практического опыта при изучении SQL, желательно на первых порах поработать "ручками". Навыки, полученные при этом, помогают в критических ситуациях, когда необходимо что-то исправить на компьютере у клиента. В состав пакета установки Oracle 9i Lite включена консольная утилита "Oracle Mobile SQL" (msql), специально предназначенная для интерактивного и пакетного выполнения SQL команд.

Данная утилита поддерживает все подмножество SQL команд сервера Oracle 9i Lite, а так же большинство команд стандартной для баз данных корпорации Oracle, утилиты SQL*Plus. Вызов утилиты msql из командной строки операционной системы имеет следующий формат:

msql имя_пользователя/пароль@jdbc_url_строка_подключения

Например:

D:\>msql system/manager@jdbc:polite:tst1_dsn

или

D:\>msql system/manager@jdbc:odbc:tst1_dsn

Для начала выполнения команды доступны следующие способы:

Команды языка запросов SQL могут быть размещены на нескольких строчках командного буфера. Кроме команд языка SQL утилита msql поддерживает так же дополнительный набор команд:

CONN[ECT] имя_пользователя/пароль@jdbc_url_строка_подключения– Установление соединения с сервером базы данных под другим именем и паролем.

DISC[ONNECT] – разрыв соединения с базой данных.

SPOOL – включение/выключение режима вывода протокола в спулер (текстовый файл, принтер и т.д.) .

SPOOL – Вывод текущего статуса спулера.

SPOOL <имя_файла> - задание имени файла для спулера.

SPOOL OFF – выключение спулера.

START (или @) - команда запуска командного файла (SQL скрипта). Имеет формат:

START имя_файла

или

@ имя_файла

MSQL так же поддерживает вариант команды вида '@@' для выполнения скриптов из файлов с указанием относительного пути.

DESC[RIBE] [схема.]объект – вывод на экран структуры таблицы, представления или синонима.

SET – команда настройки параметров msql.

SET echo ON/OFF – разрешает или запрещает вывод на экран процесса выполнения скрипта.

SET sqlp[rompt] ON/OFF – устанавливает режим запроса значений переменных привязки или замены.

SET hea[ding] ON/OFF – разрешает или запрещает вывод на экран заголовков колонок.

SET auto[commit] ON/OFF – Если задан режим ON, то Oracle 9i Lite автоматически фиксирует изменения после успешного выполнения команд INSERT, UPDATE или DELETE.

SET TRANSACTION ISOLATION LEVEL [READ COMMITTED][READ WRITE] – устанавливает режим изоляции транзакций.

SET long длина – устанавливает максимальную отображаемую длину колонок типа LONG.

REM или '--' - Оператор комментария.

DEF[INE] имя_переменной = значение_переменной – создание переменной с заданным значением

UNDEF[INE] имя_переменной – удаление переменной

CLS или CLE[AR] – Очищает экран.

CLE[EAR] BUFFER – Очищает внутренний SQL буфер.

PAUSE – ожидание нажатия пользователем клавиши Enter.

LIST – вывод на экран содержимого SQL буфера.

[HO]ST команда – выполнение команды операционной системы.

CLOCK start – команда начала отсчета времени.

CLOCK stop – Вывод на экран времени, прошедшего после выполнения команды CLOCK start.

REPEAT UNTIL- команда циклического выполнения блока команд (поддерживаются вложенные циклы), например:

clock start
define N = 0
create table test (c1 number, c2 varchar2 (256));
repeat
insert into test values ('%N%', 'abcde');
define N = N + 1
until N = 10000
clock stop;

DIR или LS – Вывод на экран списка имени и “владельца” таблиц.

DIR имя_таблицы - Вывод на экран содержимого таблицы (аналогично запросу 'SELECT * FROM имя_таблицы').

DIR VIEW - Вывод на экран списка имени и “владельца” представлений.

DIR SEQUENCE - Вывод на экран списка имени и “владельца” последовательностей.

EXIT|QUIT – завершение сессии и передача управления операционной системе.

В отличие от SQL*Plus, команда 'exit' в командных файлах рассматривается только в контексте данного файла, например, если командный файл t1.sql вызывает файл t2.sql, включающий команду 'exit', то MSQL не разорвет соединение с БД и не завершит работу после выполнения скрипта t2.sql.

Rambler's Top100 Рейтинг@Mail.ru