Книга: Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ

Общие команды isql

Общие команды isql

Общие команды isql выполняют множество полезных задач, включая чтение, запись и выполнение скриптов схемы, а также выполнение команд командной строки. Командами являются BLOBDUMP, BLOBVIEW, EDIT, EXIT, HELP, INPUT, OUTPUT, QUIT и SHELL.

BLOBDUMP сохраняет данные BLOB В указанном файле:

BLOBDUMP идентификатор-BLOB имя-файла;

где идентификатор-BLOB- идентификатор, содержащий два шестнадцатеричных числа, разделенных двоеточием (:). Первое число является идентификатором таблицы, содержащей столбец BLOB. Второе - последовательный номер объекта. Для получения этого идентификатора выдайте любой оператор SELECT, который выбирает столбец BLOB. Выход покажет шестнадцатеричный идентификатор BLOB выше или на месте столбца BLOB в зависимости от того, установлен ли SET [DISPLAY] В ON или OFF.

имя-файла - полное имя файловой системы того файла, который получает данные.

Пример:

SQL> BLOBDOMP 32:d48 IMAGE.JPG ;

BLOBVXEW отображает данные BLOB В текстовом редакторе по умолчанию.

BLOBVIEW идентификатор-BLOB ;

где идентификатор-BLOB- идентификатор, содержащий два шестнадцатеричных числа, разделенных двоеточием (:). См. описание BLOBDUMP для определения идентификатора BLOB, который вы ищите. В текущей версии BLOBVIEW не поддерживает редактирования BLOB В режиме онлайн. Это может быть добавлено в будущие реализации.

Пример:

SQL> BLOBVIEW 85:7 ;

Замечание по ошибке: BLOBVIEW может вернуть ошибку "Invalid transaction handle" (Неверный дескриптор транзакции) после закрытия редактора. Для исправления ситуации запустите транзакцию вручную с помощью:

SQL> SET TRANSACTION;

EDIT позволяет отредактировать и заново выполнить предыдущую команду isql или пакет команд в исходном файле.

SQL> EDIT [имя-файла] ;

где имя-файла- (необязательно) полностью заданное имя файла для редактирования в файловой системе.

Пример:

SQL> EDIT /usr/mystuff/batch.sql

Команда EDIT также может быть использована для открытия предыдущих операторов в редакторе:

SQL> SELECT EMP_CODE, EMP_NAME FROM EMPLOYEE ; SQL> EDIT ;

Нажмите клавишу <Enter> для отображения "прокрутки" вашей сессии isql в текстовом редакторе ASCII по умолчанию в вашей системе. Отредактируйте, при желании сохраните и выйдите. Отредактированный пакет команд будет заново выполнен в вашей командной строке isql после того, как вы выйдете из редактора.

EXIT подтверждает текущую транзакцию без подсказки, закрывает базу данных и завершает сессию isql. Если вам нужно выполнить откат, а не подтверждение транзакции, используйте QUIT.

SQL> EXIT ;

EXIT не принимает никаких аргументов.

HELP отображает список команд isql с их описанием. Вы можете объединить эту команду с OUTPUT для вывода списка в файл.

SQL> HELP ;

Пример:

SQL> OUTPUT HELPLIST.TXT ; SQL> HELP ;

SQL> OUTPUT ; /* переключает вывод опять на монитор */

HELP не принимает никаких аргументов.

INPUT читает и выполняет блок команд из указанного текстового файла (скрипта SQL). Входные файлы могут содержать другие команды INPUT, предоставляя таким образом возможность проектирования цепочного или структурированного набора скриптов DDL. Для создания скриптов используйте текстовый редактор или создавайте их интерактивно посредством команд OUTPUT или EDIT.

SQL> INPUT имя-файла ;

где имя-файла - полностью заданное имя файла, содержащего операторы и команды SQL.

Пример:

SQL> INPUT /data/schemascripts/myscript.sql ;

В скрипте:

CREATE EXCEPTION Е010 'This is an exception.'; COMMIT;

-- TABLE DEFINITIONS

INPUT '/data/schemascripts/tabledefs.sql'; - CONSTRAINT DEFINITIONS

INPUT 'data/schemascripts/constraintdefs.sql';

OUTPUT перенаправляет выходные данные в файл на диске или (назад) на стандартное устройство вывода (монитор). Используйте команды SET ECHO для включения или исключения из вывода команд:

* SET ECHO ON - для вывода команд и данных;

* SET ECHO OFF - для вывода только данных.

SQL> OUTPUT [имя-файла];

где имя-файла - полностью заданное имя файла, содержащего операторы и команды SQL. Если имя файла не указано, результаты появятся на стандартном выводе, на мониторе (т. е. вывод в файл отключен).

Пример:

SQL> OUTPUT d:dataemployees.dta ;

SQL> SELECT EMP_NO, EMP_NftME FROM EMPLOYEE ;

/* вывод отправляется в файл */

SQL> OUTPUT ; /* переключает вывод опять на монитор */

! ! !

СОВЕТ. Если вы используете OUTPUT для создания скриптов, то может понадобиться их отредактировать, чтобы удалить случайные интерактивные команды isql. Однако, когда вы направляете этот вывод в isql, используя INPUT, isql обычно просто игнорирует отраженные интерактивные команды.

. ! .

QUIT отменяет текущую транзакцию и закрывает окно isql.

SQL> QUIT ;

QUIT не принимает аргументов. Если вам нужно подтвердить транзакцию вместо ее отката, используйте EXIT.

SHELL предоставляет временный доступ к окну командной строки без подтверждения или отката любой транзакции.

SQL> SHELL [команда операционной системы] ;

где команда операционной системы- (необязательно) команда или вызов, допустимый в командной строке, из которой была запущена isql. Команда будет выполнена, а управление возвращено isql. Если команда не указана, isql открывает интерактивную сессию в командной строке. Ввод EXIT возвращает управление isql.

Пример:

SQL> SHELL dir /mydir | more ;

Этот пример отобразит содержимое каталога /mydir и возвратит управление isql, когда отображение будет завершено или завершится утилита more при нажатии комбинации клавиш <Ctrl>+<C>.

Оглавление книги


Генерация: 1.258. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз