Выбрать главу

Пример:

SQL> SELECT HIRE_DATE FROM EMPLOYEE WHERE EMP_NO = 145; HIRE_DATE

16-MAY-2004

SQL>SET TIME ON ;

SQL> SELECT HIRE_DATE FROM EMPLOYEE WHERE EMP_NO = 145; HIRE DATE

16-MAY-2004 18:20:00

SET WARNINGS задает, выводить ли предупреждающие сообщения. Можно использовать SET WNG как простой переключатель.

SQL> SET WARNINGS [ON |OFF ];

ON- включает отображение предупреждений, если они были отключены, или если сессия была запущена с переключателем -nowamings.

OFF- отключает отображение предупреждений, если они были включены.

Выход из интерактивной сессии isql

Для выхода из утилиты isql и отката (roll back) всей неподтвержденной работы введите:

SQL> QUIT;

Для выхода из утилиты isql и подтверждения всей работы введите:

SQL> EXIT;

Командный режим

Хотя isql имеет некоторые удобные интерактивные возможности, она не ограничена только этим режимом. Многие интерактивные команды доступны также в виде переключателей командной строки. Некоторые функции isql, такие как извлечение метаданных, доступны только из окна командной строки. Операции над входными и выходными файлами не обязательно должны быть интерактивными- фактически вызов isql с переключателями -i[nput] и -o[utput] не вызывает интерактивного режима.

Команды выполняются и после завершения, они автоматически возвращают управление окну командной строки. Вызовы isql также могут находиться внутри скриптов командной строки или внутри пакетных файлов.

Некоторые переключатели могут быть использованы при вызове интерактивного окна isql. Они представлены в табл. 37.1.

Выполнение isql в командном режиме

Откройте окно командной строки и перейдите в каталог Firebird /bin вашей инсталляции сервера или клиента Firebird. Используйте следующий синтаксис для вызовов isqclass="underline"

isql [режимы] [имя-базы-данных] [-u[ser] <имя-пользователя> -pas[sword] <пароль>]

Для операций SYSDBA вы можете задать переменные операционной системы ISC_USER и ISC_PASSWORD и не вводить их в командах. Для деятельности пользователей, не являющихся SYSDBA, вам всегда нужно задавать учетные данные для операций с базой данных и/или с объектами.

Терминатором по умолчанию является точка с запятой (;). Вы можете заменить ее любым символом или группой символов с помощью режима в командной строке.

! ! !

ПРИМЕЧАНИЕ. Если вы выполняете команду соединения с базой данных для выполнения скрипта, а его набор символов по умолчанию NONE, вам нужно в ваш скрипт включить команду SET NAMES.

. ! .

Вы можете установить диалект isql из командной строки при вызове isqclass="underline"

isql -s n ;

где n = 1, 2 или 3.

Переключатели командной строки

Требуются только начальные символы переключателей. Вы также можете набрать любую часть текста в квадратных скобках, показанного в табл. 37.1, включая полное название режима. Например, задание -n, -no, -noauto имеет одинаковый эффект.

Таблица 37.1. Переключатели для режимов командной строки isql

Режим

Описание

-a

Извлекает все операторы DDL из указанной базы, а также операторы, не являющиеся операторами DDL

-d[atabase] имя

Используется с переключателем -x (извлечь). Изменяет имя базы данных в операторе CREATE DATABASE, извлеченном в файл. Путь к файлу должен быть полностью определен. Без переключателя -d CREATE DATABASE появляется в виде комментария в стиле языка С с использованием имени базы данных, заданным в командной строке

-с[ache]

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

-е[cho]

Отображает каждый оператор перед его выполнением (так называемое эхо)

-ex[tract]

Извлекает операторы DDL из указанной базы данных и отображает их на экране, если только вывод не был переназначен в файл

-i[nput] файл

Читает команды не с клавиатурного ввода, а из входного файла. В аргументе файл должен быть указан полный путь. Входные файлы могут содержать команды -input, которые вызывают другие файлы, позволяя выполнить ветвление, а затем вернуться, isql подтверждает работу текущего файла до открытия следующего

-m[erge stderr]

Объединяет вывод stderr с stdout. Полезно для помещения вывода и ошибок в один файл при выполнении isql в скрипте командной строки или из пакетного файла

-n[oauto]

Отключает автоматическое подтверждение операторов DDL. По умолчанию операторы DDL подтверждаются автоматически в раздельных транзакциях

-nowarnings

Отображает предупреждающие сообщения, если и только если появилась ошибка (по умолчанию isql отображает любое сообщение, возвращенное в векторе состояния, даже если не появлялось ошибок)

-o[utput] файл

Записывает результаты в выходной файл, а не в стандартный вывод. Аргумент файл должен содержать полный путь к файлу

-pas[sword] пароль

Используется вместе с -user для задания пароля при соединении с удаленным сервером или когда это требуется для локальной операции. Для доступа пароль и пользователь должны представлять существующую запись в базе данных безопасности на сервере

-page[length] n

В результате запроса выводит заголовки столбцов через каждые n строк, а не через 20 заданных по умолчанию

-q[uiet]

Подавляет вывод сообщения "Use CONNECT or CREATE DATABASE . . ." при отсутствии пути к базе данных в командной строке

-r[ole] имя-роли

Передает имя-роли вместе с учетными данными пользователя при соединении с базой данных

-s[ql dialect] n

Интерпретирует последовательность команд как диалект n до конца сессии или пока диалект не будет изменен оператором SET SQL DIALECT. См. разд. "Установка диалекта в isql" ранее в этой главе

-t[erminator] x

Изменяет символ завершения оператора со значения по умолчанию точка с запятой (;) на x, где x- один символ или любая последовательность символов

-u[ser] пользователь

Используется вместе с -password. Задает имя пользователя при соединении с удаленным сервером. Для доступа пароль и пользователь должны представлять существующую запись в базе данных безопасности на сервере

-x

То же самое, что и -extract

-z

Отображает версию программы isql

Извлечение метаданных

В командной строке вы можете использовать режим -extract для вывода операторов DDL, которые определяют метаданные в базе данных.

Все зарезервированные слова и объекты извлекаются в файл в виде символов в верхнем регистре, если только локальный язык не использует набор символов, который не имеет верхнего регистра. Выходной скрипт создается с подтверждением каждого набора команд, следовательно, на каждую таблицу можно ссылаться в последующих определениях. Выходной файл включает имя объекта и его владельца, если он определен.

Необязательный флаг -output перенаправляет вывод в указанный файл. Используйте следующий синтаксис:

isql [[-extract | -x][-a] [[-output | -о] выходной-файл]] база-данных

Режим -x может быть использован в качестве сокращения для -extract. Флаг -а указывает утилите isql на необходимость извлечения всех объектов базы данных. Обратите внимание, что спецификация выходного файла выходной-файл должна содержать полный путь к файлу и должна следовать после флага -output. Имя файла и путь извлекаемой базы данных могут находиться в конце команды.