Читаем Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ полностью

* При запуске isql:

[bin] isql -s n

где n- число 1, 2 или 3. Если вы зададите диалект этим способом, isql сохранит данный диалект после соединения, если только вы явно его не измените.

* В сессии isql или в скрипте SQL:

SET SQL DIALECT N;

Утилита продолжит работать с этим диалектом, пока он не будет явно изменен. Диалект не может быть установлен как параметр оператора CREATE DATABASE.

! ! !

ВНИМАНИЕ! Когда вы создаете базу данных интерактивно с использованием isql, база данных будет в том диалекте, который в настоящий момент существует у isql во время выдачи оператора CREATE DATABASE. Вам нужно будет учесть это, если у вас была перед этим открыта база данных с диалектом 1, потому что isql останется в диалекте 1 и после отключения от базы данных с диалектом 1.

. ! .

Воздействие диалектов

Эффекты команд могут иметь некоторые изменения в зависимости от диалекта.

* Клиент диалекта 1 обрабатывает все команды в соответствии с ожиданием языка InterBase 5 и синтаксиса с некоторыми изменениями. Например, если вы создаете таблицу, в которой задается столбец типа DATE, вы увидите информационное сообщение, говорящее, что "DATE datatype is now called TIMESTAMP" (Тип данных DATE сейчас называется TIMESTAMP).

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

* Клиент диалекта 3 анализирует все операторы в соответствии с родной семантикой SQL Firebird: кавычки используются для идентификаторов с ограничителями и не распознаются как ограничители строк, тип данных DATE содержит только дату, а истинные числа (числа с фиксированной точкой) с точностью больше 9 хранятся как BIGINT (NUMERIC(18, О) в Firebird 1.0.x).

<p>Интерактивные команды</p>

Вы можете интерактивно вводить три вида команд или операторов в подсказке SQL>.

* Операторы SQL определения данных (DDL), такие как CREATE, ALTER, DROP и REVOKE. Эти операторы создают, изменяют или удаляют метаданные и объекты или управляют полномочиями доступа пользователя (привилегиями) к базе данных.

* Операторы SQL манипулирования данными (DML), такие как SELECT, INSERT, UPDATE и DELETE. Выход операторов SELECT может быть отображен или направлен в файл (см. команду OUTPUT).

* Команды isql, которые разделяются на три основные категории:

• общие команды (например, команды чтения входного файла, записи в выходной файл или завершения сессии isql);

• команды SHOW (для отображения метаданных и другой информации базы данных);

• команды SET (для изменения окружения isql).

<p>Создание и изменение объектов базы данных</p>

В сессии isql вы можете выдавать операторы DDL один за другим для создания (CREATE) или удаления (DROP) баз данных, доменов, генераторов, таблиц, индексов, триггеров и хранимых процедур. Вместе с исключениями генераторов вы также можете выдавать операторы ALTER для любого из этих объектов.

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

Скрипты

Очень хорошей практикой является использование скриптов для создания базы данных и ее объектов. Скрипт для создания и изменения объектов базы данных иногда называют скриптом схемы, файлом определения данных или просто DDL-скриптом. Тема использования скриптов схемы рассматривается в деталях в главе 14.

Скрипты по изменению базы данных дают вам постоянную фиксацию эволюции вашей базы данных и возможность отслеживать и отменять любые неразумные изменения. Утилита isql может создавать скрипт в процессе интерактивной сессии, передавая ваш ввод с клавиатуры в указанный файл. Чтобы узнать, как это сделать, прочтите примечания к команде OUTPUT в следующем разделе.

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

<p>Общие команды isql</p>

Общие команды 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 ;

Перейти на страницу:

Похожие книги

Adobe Flash. Создание аркад, головоломок и других игр с помощью ActionScript
Adobe Flash. Создание аркад, головоломок и других игр с помощью ActionScript

Данная книга посвящена программированию игр с помощью ActionScript. Здесь вы найдете подробные указания, необходимые для создания самых разных игр – аркад, головоломок, загадок и даже игровых автоматов. В тексте приведены исходные коды программ и детальные, доступно изложенные инструкции. Базовые принципы программирования ActionScript рассматриваются на примере игр, однако вы без труда сможете применить полученные знания и для разработки неигровых проектов, таких как Web-дизайн и реклама. Рекомендации Гэри Розенцвейга помогут вам не только придумывать занимательные игры и размещать их на Web-сайте, но и оптимизировать скорость их работы, а также защищать свои творения от несанкционированного копирования. Представленный в книге код несложно изменить для использования в других программах.Книга предназначена для широкого круга читателей – создателей анимационных роликов, художников-оформителей, программистов и разработчиков Web-сайтов. Издание может также выступать в качестве практического пособия по изучению ActionScript.

Гэри Розенцвейг

Программирование, программы, базы данных / Программирование / Книги по IT
Эффективное использование C++. 55 верных способов улучшить структуру и код ваших программ
Эффективное использование C++. 55 верных способов улучшить структуру и код ваших программ

Эта книга представляет собой перевод третьего издания американского бестселлера Effective C++ и является руководством по грамотному использованию языка C++. Она поможет сделать ваши программы более понятными, простыми в сопровождении и эффективными. Помимо материала, описывающего общую стратегию проектирования, книга включает в себя главы по программированию с применением шаблонов и по управлению ресурсами, а также множество советов, которые позволят усовершенствовать ваши программы и сделать работу более интересной и творческой. Книга также включает новый материал по принципам обработки исключений, паттернам проектирования и библиотечным средствам.Издание ориентировано на программистов, знакомых с основами C++ и имеющих навыки его практического применения.

Скотт Майерс , Скотт Мейерс

Программирование, программы, базы данных / Программирование / Книги по IT