
Февраль 2005
Профессионалу разработчику
Сергей Бердачук,
Berdachuk@tut.by
http://berdachuk.at.tut.by
Oracle Mobile SQL
Источник: перепечатка с разрешения автора с ©Realcoding.net,
http://www.realcoding.net/part.php?id=1948
Для работы с базами данных в последнее время появилось множество утилит,
которые имеют удобный графический интерфейс. Однако для получения практического
опыта при изучении 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 Для начала выполнения команды доступны
следующие способы: — постановка точки с запятой ';' в конце команды и нажатие
клавиши Enter; — постановка точки с запятой ';' или наклонной черты '/' на
последней строке командного буфера; — постановка наклонной черты '/' в ответ
на системную подсказку. Команды языка запросов 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.
|