Хелен Борри - Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ

Тут можно читать онлайн Хелен Борри - Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ - бесплатно полную версию книги (целиком) без сокращений. Жанр: comp-programming, издательство БХВ-Петербург, год 2006. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ
  • Автор:
  • Жанр:
  • Издательство:
    БХВ-Петербург
  • Год:
    2006
  • Город:
    Санкт-Петербург
  • ISBN:
    5-94157-609-9
  • Рейтинг:
    4/5. Голосов: 81
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 80
    • 1
    • 2
    • 3
    • 4
    • 5

Хелен Борри - Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ краткое содержание

Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ - описание и краткое содержание, автор Хелен Борри, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

Рассмотрены вопросы, необходимые разработчику для создания клиент-серверных приложений с использованием СУБД Firebird, явившейся развитием СУБД Borland Interbase 6. Содержится обзор концепций и моделей архитектуры клиент/сервер, а также практические рекомендации по работе с клиентскими библиотеками Firebird. Детально описаны особенности типов данных SQL, язык манипулирования данными (Data Manipulation Language, DML), а также синтаксис и операторы языка определения данных ( Data Definition Language, DDL). Большое внимание уделено описанию транзакций и приведены советы по их использованию при разработке приложений. Описано программирование на стороне клиента и сервера написание триггеров и хранимых процедур, создание и использование событий базы данных, обработка ошибок в коде на сервере и многое другое. Материал сопровождается многочисленными примерами, советами и практическими рекомендациями.

Для разработчиков баз данных

Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ - читать онлайн бесплатно полную версию (весь текст целиком)

Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ - читать книгу онлайн бесплатно, автор Хелен Борри
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать
Выражения, использующие CASE() и дружественные функции

Firebird предоставляет из стандарта SQL-99 синтаксис выражения CASE и двух его "сокращенных" производных функций - COALESCE() и NULLIF(). Выражение CASE() может быть использовано для вывода константного значения, условно определенного во время выполнения в соответствии со значением указанного столбца в текущей строке запрашиваемой таблицы.

CASE()

Функция CASE() позволяет сделать вывод для столбца зависимым от результата вычисления группы взаимоисключающих условий.

Доступность

DSQL, PSQL, ISQL, ESQL, Firebird 1.5 и выше. Любая платформа.

Синтаксис

CASE {<���значение 1> | <���пустое-предложение>}

WHEN {{NULL | <���значение 2>} | <���предикат-поиска> }

THEN {<���результат 1> | NULL }

WHEN...THEN {<���результат 2> | NULL}

[WHEN...THEN {<���результат N> | NULL}]

[ELSE {<���результат (n + 1)> | NULL} ]

END [, ]

Дополнительные ключевые слова

WHEN. . .THEN являются ключевыми словами в каждом предложении условие/результат. Требуется, по меньшей мере, одно предложение условие/результат.

ELSE предшествует необязательному "последнему" результату, который возвращается, если не выполняется ни одно предыдущее предложение.

Аргументы

значение 1 является идентификатором столбца, значение которого вычисляется. Может быть опущен. В этом случае каждое предложение WHEN должно быть предикатом поиска, содержащим идентификатор этого столбца.

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

* Если идентификатор столбца (значение 1) указан в предложении CASE, то значение 2 остается одиночным в каждом предложении WHEN и будет сравниваться со значением 1.

* Если идентификатор столбца не указан в предложении CASE, то и значение 1, и значение 2 включаются в каждое предложение WHEN в качестве предиката поиска в форме (значение 1 = значение 2).

результат 1 - тот результат, который будет возвращен в случае, когда значение i будет соответствовать значению 2.

результат 2- тот результат, Который будет возвращен в случае, когда значение 1 будет соответствовать значению 3 и т.д.

Возвращаемое значение

Предложение CASE возвращает единственное значение. Если не выполняется ни одно условие и не указано предложение ELSE, то возвращаемый результат будет NULL.

Замечания

Вы должны использовать одну форму синтаксиса или другую. Смешанный синтаксис недопустим.

Использование единственного предложения условие/результат имеет смысл, только если присутствует предложение ELSE. Хотя это менее элегантно, чем использование соответствующих функций COALESCE() и NULLIF().

Примеры

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

Простой синтаксис:

SELECT

о.ID,

о.Description,

CASE о.Status

WHEN 1 THEN 'confirmed'

WHEN 2 THEN 'in production'

WHEN 3 THEN 'ready'

WHEN 4 THEN 'shipped'

ELSE 'unknown status ''' || o.Status || ''''

END

FROM Orders o;

Этот синтаксис использует предикаты поиска в предложении WHEN:

SELECT

о.ID,

о.Description,

CASE

WHEN (о.Status IS NULL) THEN 'new'

WHEN (o.Status = 1) THEN 'confirmed'

WHEN (o.Status = 3) THEN 'in production'

WHEN (o.Status = 4) THEN 'ready'

WHEN (o.Status = 5) THEN 'shipped'

ELSE 'unknown status ''' || o.Status || ''''

END

FROM Orders o;

COALESCE()

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

Доступность

DSQL, PSQL, ISQL, ESQL, Firebird 1.5 и выше. Любая платформа.

Синтаксис

COALESCE (<���значение 1> { , значение 2 [, ... значение n]})

Аргументы

значение 1 - значение столбца или выражение, которое будет вычисляться. Если это не NULL, то оно будет возвращаемым значением.

значение 2 - значение столбца или выражение, которое будет вычисляться, если значение 1 будет NULL.

значение n - последнее значение или выражение, которое будет вычисляться, если предыдущие значения в списке будут NULL.

Возвращаемое значение

Возвращает первое не NULL значение из списка.

Замечания

Функция COALESCE о может быть использована для вычисления пары условий или списка из трех или более условий.

В первом варианте (простого, двоичного) синтаксиса COALESCE (значение1, Значение2) логика вычисления эквивалентна:

CASE WHEN V1 IS NOT NULL THEN V1 ELSE V2 END

Если присутствуют три или более аргумента - COALESCE (значение1, значение2, ... значениеN), - логика вычисления эквивалентна следующей:

CASE

WHEN V1 IS NOT NULL THEN V1

ELSE COALESCE (V2,...,Vn)

END

Последнее значение в списке должно быть задано, чтобы быть уверенным, что что-то будет возвращено.

Пример

В первом запросе если соединение не находит соответствия в таблице EMPLOYEE для TEAM_LEADER из таблицы PROJECT, то запрос вернет строку ' [Not assigned]' (Не назначено) вместо NULL, которое в противном случае должно было вернуть внешнее соединение в качестве значения FULL NAME:

SELECT

PROJ_NAME AS Projectname,

COALESCE (e. FULL_NAME, ' [Not assigned]') AS Employeename

FROM PROJECT p

LEFT JOIN EMPLOYEE e ON (e.EMP_NO = p. TEAM_LEADER) ;

В следующем запросе вычисление начинается с самой левой позиции в списке. Если присутствует значение PHONE, запрос проверяет, присутствует ли значение MOBILEPHONE, иначе он возвращает строку 'unknown' (Неопределенный):

SELECT

COALESCE(Phone, MobilePhone, 'Unknown') AS Phonenumber

FROM Relations

Связанные или похожие функции

Пользователи Firebird 1.0.x, смотрите внешние функции INVL() и SNVL().

NULLIF()

NULLIF() возвращает NULL в случае соответствия двух непустых значений, иначе он возвращает значение подвыражения.

Доступность

DSQL, PSQL, ISQL, ESQL, Firebird 1.5 и выше. Любая платформа.

Синтаксис

NULLIF (значение 1, значение 2)

Аргументы

значение 1 - столбец или вычисляемое выражение.

значение 2- константа или выражение, с которым сравнивается значение 1. Если они соответствуют, NULLIF возвращает NOLL.

Возвращаемое значение

Возвращаемое значение будет NULL, если значение 1 и значение 2 соответствуют друг другу. ЕСЛИ нет соответствия, возвращается значение 1.

Замечания

NULLIFO является сокращением для следующего выражения CASE: CASE WHEN(VALUE_1 = value_2) THEN NULL ELSE VALUE_1 END

Пример

Этот оператор устанавливает значение столбца STOCK из таблицы PRODUCTS в ULL для всех строк, где его текущее значение равно нулю:

UPDATE PRODUCTS

SET STOCK = NULLIF(STOCK, 0)

Связанные или похожие функции

Пользователи Firebird 1.0.x, смотрите INULLIF() и SNULLIF().

Определение столбцов COMPUTED BY

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

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Хелен Борри читать все книги автора по порядку

Хелен Борри - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ отзывы


Отзывы читателей о книге Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ, автор: Хелен Борри. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x