Вход/Регистрация
Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ
вернуться

Борри Хелен

Шрифт:

Как определять диалект

Вызовите окно командной строки и перейдите в каталог /bin, где находятся инструменты командной строки Firebird. Запустите утилиту isql. Соединитесь с вашей базой данных:

SQL> CONNECT '/opt/firebird/examples/employee.fdb'

CON> user 'SYSDBA' password 'icur2yy4m';

SQL>

Затем введите следующую команду ISQL:

SQL> SHOW SQL DIALECT;

Client SQL dialect is set to: 3 and database dialect is: 3

(Диалект SQL клиента установлен в: 3, диалект базы данных: 3)

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

Изменение диалекта клиента в isql

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

SQL> COMMIT;

SQL> SET SQL DIALECT 1;

WARNING: client SQL dialect has been set to 1 when connecting to Database

SQL dialect 3 database.

(Предупреждение: SQL-диалект клиента установлен в 1 при соединении с базой данных с SQL-диалектом 3)

SQL>

Здесь все в порядке, потому что вы только собираетесь соединиться с базой данных диалекта 1:

SQL> CONNECT 'RSERVER:D:\DATA\SAMPLE\legacy.gdb'

CON> user 'SYSDBA' password 'icur2yy4m';

SQL> SHOW SQL DIALECT;

Client SQL dialect is set to: 1 and database dialect is: 1

(Диалект SQL клиента установлен в: 1, диалект базы данных: 1)

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

Пора дальше

Следующие четыре главы подробно описывают типы данных, поддерживаемые для каждой из основных категорий данных: числа, дата/время, символы и BLOB. Глава 13, последняя глава в этой части, описывает реализацию доменов в Firebird для объединения типа данных с группой атрибутов в одно воспроизводимое определение.

ГЛАВА 9. Числовые типы данных.

Firebird поддерживает числовые типы данных с фиксированной точкой (точные числа) и с плавающей точкой (приблизительная точность). Десятичными типами с фиксированной точкой являются целые типы с нулевым масштабом SMALLINT, INTEGER и в диалекте 3 BIGINT, а также два почти одинаковых масштабируемых числовых типа: NUMERIC и DECIMAL. Два типа с плавающей точкой: FLOAT (низкая точность) и DOUBLE PRECISION [15] .

15

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

Firebird не поддерживает беззнаковый целочисленный тип. В табл. 9.1 показаны диапазоны значений каждого числового типа в Firebird.

Таблица 9.1. Границы числовых типов Firebird

Числовой тип Минимум Максимум
SMALLINT – 32,768 32,767
INTEGER – 2,147,483,648 2,147,483,647
BIGINT – 2(^63^) 2(^63^) - 1
(Для мазохистов) – 9223372036854775808 9223372036854775807
NUMERIC* Меняется Меняется
DECIMAL* Меняется Меняется
FLOAT
Положительные 1.175 * 10(^38^) 3.402 * 10(^38^)
Отрицательные – 3.402 * 10(^38^)
DOUBLE PRECISION
Положительные 2.225 * 10(^308^) 1.797 * 10(^308^)
Отрицательные – 1.797 * 10(^308^)

* Границы для типов NUMERIC и DECIMAL изменяются в зависимости от способа хранения и масштаба. Границы всегда будут соответствовать тому типу, в котором эти данные будут сохраняться [16] .

Операции с числовыми типами

* Операции сравнения. Используйте стандартные операторы отношений (=, <, >, >=, <=, <> или !=) [17] .

Возможны сравнения строк с использованием таких операторов SQL, как CONTAINING, STARTING WITH и LIKE. В данных операциях числа трактуются как строки. Более подробную информацию об этих операторах см. в главе 21.

16

Хранимыми типами являются SMALLINT, INTEGER или BIGINT в зависимости от объявлен-

17

Использование "!=" в качестве замены для "<>" допустимо в Firebird, но не соответствует стандарту. Те, у кого хорошее экстрасенсорное восприятие, будут придерживаться "о", чтобы сделать код более удобным для чтения.

* Арифметические операции. Могут быть использованы стандартные бинарные арифметические операторы (+, * и /).

* Операции преобразования. Firebird автоматически выполняет преобразования между числами с фиксированной точкой, с плавающей точкой и строковыми типами данных при выполнении операций над смешанными типами данных. Когда операция является сравнением или арифметической операцией, включающей числовые и нечисловые типы данных, то сначала данные преобразуются в числовой тип, а затем выполняется операция.

  • Читать дальше
  • 1
  • ...
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: