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

Основные шаги

Основные шаги

Основные шаги по использованию файлов скриптов описаны в следующих разделах.

Шаг 1: создание файла скрипта

Используйте любой подходящий текстовый редактор. На стадии обучения вы можете за каждым оператором DDL записывать оператор COMMIT, чтобы обеспечить видимость объекта последующим операторам. Когда вы получите больше опыта, вы научитесь подтверждать операторы в блоках, применяя SET AUTODDL ON и SET AUTODDL OFF с целью управления взаимозависимостями и при тестировании/отладке скриптов.

! ! !

ВНИМАНИЕ! Убедитесь, что каждый скрипт заканчивается символом перевода строки и, по меньшей мере, одной пустой строкой.

. ! .

Шаг 2: выполнение скрипта

Используйте команду INPUT в сессии isql, или кнопку Выполнить (Execute), или аналогичную в вашем инструменте управления базой данных.

isql в POSIX:

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

isql в Win32:

SQL> INPUT d:datascriptsmyscript.sql;

Шаг 3: просмотр результата и подтверждение изменений базы данных

Разные инструменты Firebird и версии isql возвращают различную информацию в случае ошибочного выполнения скрипта при наличии неверной команды. Средства,

добавленные после Firebird 1.0, обеспечивают более подробные сообщения об ошибках скрипта, чем предыдущие версии.

Как создавать скрипты

Вы можете создавать скрипты DDL различными способами, включая следующие:

* в сессии интерактивной isql с использованием команды OOTPOT для передачи серий операторов DDL в файл;

* в текстовом редакторе ASCII, который выполняет переводы строки в соответствии с правилами командной строки операционной системы, где будет выполняться скрипт DDL;

* используя специализированные инструменты редактора скриптов, которые доступны среди инструментов администратора для Firebird сторонних разработчиков. См. список в приложении 5;

* используя инструмент CASE, который может выводить скрипты DDL в соответствии с соглашениями Firebird (InterBase).

Вы можете использовать любой текстовый редактор для создания файла скрипта SQL, если выходной формат файла является полным текстом (ASCII) и символы завершения строки соответствуют правилам командной строки вашей операционной системы:

* в Windows терминатор строки - символ возврата каретки плюс символ перевода строки (ASCII 13, за которым следует ASCII 10);

* в Linux/UNIX терминатор строки - символ перевода строки, или "новая строка" (ASCII 10);

* в Mac OS X терминатор строки- новая строка (ASCII 10), а в родных Macintosh это возврат каретки (ASCII 13).

! ! !

СОВЕТ. См. также в isql возможность извлечения метаданных, которая может быть полезной для извлечения схемы БД в формате скрипта.

. ! .

Некоторые инструменты редактирования имеют возможность сохранять данные в различных текстовых форматах. Это может быть полезным, например, при создании скриптов, совместимых с Linux, на машине Windows. При этом убедитесь, что вы используете редактор, который сохраняет только полный текст ASCII.

Подготовленный файл скрипта схемы должен начинаться с оператора CREATE DATABASE или, если база данных уже существует, с оператора CONNECT (включая имя пользователя и пароль в апострофах). Эти операторы задают базу данных, с которой оперирует файл скрипта. За ключевыми словами CREATE или CONNECT должна следовать полная спецификация файла базы данных в апострофах: полный абсолютный путь и имя файла базы данных.

! ! !

ПРИМЕЧАНИЕ. Не используйте алиасы в скриптах, которые создают базы данных.

. ! .

Пример:

SET SQL DIALECT 3 ;

CREATE DATABASE 'd:databasesMyDatabase.fdb' PAGE_SIZE 8192

DEFAULT CHARACTER SET ISO8859_1 USER 'SYSDBA' PASSWORD 'masterkey';

или

CONNECT 'd:databasesMyDatabase.gdb' USER 'SYSDBA' PASSWORD 'masterkey';

Подтверждение операторов в скрипте

Операторы DDL

Операторы в скриптах DDL могут подтверждаться одним или несколькими способами:

* включением в соответствующих местах скрипта операторов COMMIT, чтобы гарантировать доступность новых объектов базы данных всем последующим зависящим от них операторам;

* включением в начало скрипта следующего оператора:

SET AUTODDL ON;

Для отмены автоматического подтверждения операторов DDL в скрипте isql используйте:

SET AUTODDL OFF;

Ключевые слова ON и OFF необязательны. Сокращение SET AUTO может быть использовано в качестве двухстороннего переключателя. Для большей ясности рекомендуется использовать SET AUTODDL с явным указанием ключевых слов ON и OFF.

Автоматическое подтверждение isql

Если вы выполняете свой скрипт в isql, то изменения базы данных операторами определения данных (DDL)- например, операторами CREATE и ALTER- автоматически подтверждаются по умолчанию. Это означает, что другие пользователи базы данных видят изменения сразу после выполнения оператора DDL.

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

Операторы DML

Изменения базы данных, выполненные операторами манипулирования данными (DML) - INSERT, UPDATE и DELETE, - не станут постоянными, пока не будут подтверждены. Явно включите операторы COMMIT в ваш скрипт для подтверждения изменений DML.

Для отмены всех изменений базы данных после последнего COMMIT используйте ROLLBACK. Подтвержденные изменения не могут быть отменены.

Выполнение скриптов

Скрипты DDL могут быть выполнены в сессии интерактивного isql с использованием команды INPUT, как было описано ранее. Многие инструменты сторонних разработчиков позволяют выполнять и даже интеллектуально отлаживать скрипты в среде графического интерфейса.

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


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