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

Интервал:

Закладка:

Сделать

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

Позиционированные операции в сравнении с поисковыми

Операторы UPDATE и DELETE могут быть позиционированными (выполняются над одной и только одной строкой) и поисковыми (выполняются над нулевым или большим количеством строк). Строго говоря, позиционированное изменение может появиться только в контексте текущей строки операции с курсором, в то время как поисковое изменение, возможно ограниченное условиями поиска в предложении WHERE, появляется во всех других контекстах.

Многие компоненты интерфейсов эмулируют позиционированные операции изменения и удаления, используя поисковое изменение с предложением WHERE, уникально определяющим строку. Такие однонаправленные или прокручиваемые классы наборов данных поддерживают "буфер текущей строки", который хранит или связан со столбцом и значением ключа той строки, которая была выбрана задачей пользователя для операции. Когда пользователь готов отправить запрос на изменение или удаление, компонент конструирует поисковый оператор INSERT или DELETE, который указывает на одну строку базы данных, используя первичный ключ (или любой другой уникальный список столбцов) в предложении WHERE.

! ! !

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

. ! .

Использование оператора UPDATE

Оператор UPDATE имеет следующую основную форму:

UPDATE имя-таблицы | имя-просмотра

SET имя-столбца = значение [,имя-столбца = значение ...]

[WHERE <���условие-поиска> | WHERE CURRENT OF имя-курсора]

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

Предложение SET

Синтаксис предложения SET:

SET имя-столбца = значение [, имя-столбца = значение ...]

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

Значение может быть:

* константой корректного типа (например, SET COLUMNB = '99'). Если для столбца указан набор символов, отличный от набора символов соединения, то заменяющее значение может быть преобразовано в этот указанный набор символов с помощью включения соответствующего дескриптора набора символов слева от константы. Дескриптор набора символов является именем набора символов, который начинается с символа подчеркивания, например:

SET COLUMNY = _ISO8859_1 'fricassee'

* идентификатором другого столбца в той же таблице, представленным с корректным типом данных. Например, SET COLUMNB = COLUMNX заменит текущее значение столбца COLUMNB на текущее значение столбца COLUMNX. При необходимости может быть использован дескриптор набора символов (см. ранее);

* выражением. Например, SET REVIEW_DATE = REVIEW_DATE + 14 изменяет значение столбца даты на две недели позже, чем текущее значение. Подробнее о выражениях см. главу 21;

* контекстной переменной сервера (например, SET DATE_CHANGED = CURRENT_DATE). Контекстные переменные описаны в главе 8;

* символом-заменителем параметра, соответствующим синтаксису, реализованному в коде приложения (например, для Delphi SET LAST_NAME = :LAST_NAME ИЛИ, для других интерфейсов приложений, SET LAST_NAME = ?);

* вызовом определенной пользователем функции (UDF). Например, SET BCOLUMN = OPPER(ACOLUMN) использует внутреннюю SQL-функцию UPPER для преобразования значения столбца ACOLUMN в верхний регистр и сохранения результата в BCOLUMN. Информацию об использовании функций см. в главе 21.

Предложение COLLATE может быть включено при модификации символьных столбцов (но не BLOB). для большинства наборов символов может оказаться необходимым использование одного из предыдущих примеров, поскольку последовательность сортировки по умолчанию (двоичная) обычно не поддерживает функцию UPPER(). Например, если ACOLUMN и BCOLUMN описаны с набором символов ISO8859_1 и используют испанский язык, то предложение SET должно быть следующим:

SET BCOLUMN = UPPER (ACOLUMN) COLLATION ES_ES

Подробнее о наборах символах и последовательностях сортировки см. главу 11.

Переключение значений

Будьте осторожны при "переключении" значений между столбцами. Выражение типа

. . .

SET COLUMNA = COLUMNB

приведет к тому, что текущее значение в столбце COLUMNA будет немедленно заменено текущим значением столбца COLUMNB. Если затем вы сделаете

SET COLUMNB = COLUMNA

то, поскольку старое значение столбца COLUMNA было потеряно, значения столбцов COLUMNB и COLUMNA останутся теми же, что и после первого переключения.

Для переключения значений вам нужен третий столбец, в котором будет "парковаться" значение из COLUMNA, пока вы не будете готовы назначить его столбцу

COLUMNB:

. . .

SET

COLUMNC = COLUMNA,

COLUMNA = COLUMNB, COLUMNB = COLUMNC

. . .

В SET вы можете использовать выражения, следовательно, при переключении двух целых значений возможно использование арифметических операций над двумя значениями. Предположим, что COLUMNA равняется 10, a COLUMNB 9:

. . .

SET

COLUMNB = COLUMNB + COLUMNA, /* COLUMNB теперь 19 */

COLUMNA = COLUMNB - COLUMNA, /* COLUMNA теперь 9 */

COLUMNB = COLUMNB - COLUMNA /* COLUMNB теперь 10 */

. . .

Всегда проверяйте ваши предположения при выполнении переключений!

Изменение столбцов BLOB

Изменение столбцов BLOB фактически полностью заменяет старое значение BLOB на новое. Старый указатель BLOB ID при изменении заменяется. Также:

* невозможно изменить BLOB путем конкатенации другого BLOB или строки с существующим BLOB;

* значение текстового BLOB может быть установлено с использованием строки в качестве ввода. Например, MEMO в следующем примере является текстовым BLOB:

UPDATE ATABLE

SET MEMO = 'Friends, Romans, countrymen, lend me your ears: I come not to bury Caesar, but to praise him.';

! ! !

ВНИМАНИЕ! Помните, что хотя столбцы BLOB не ограничены по размерам, строковые типы ограничены 32 765 байтами (VARCHAR) или 32 767 байтами (CHAR) - это байты, а не символы. Учтите это при конкатенации многобайтовых наборов символов.

. ! .

Изменение столбцов массивов

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

Не существует возможности изменять столбцы массивов в DSQL. Для изменения массивов необходимо в коде приложения или компонента реализовать пользовательские методы, которые вызывают функцию API isc_array_put_slice.

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

Интервал:

Закладка:

Сделать


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

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




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


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


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

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