Галерея
7757 8119 8300 8698 8817 9504 9722 9937
Интересные записи
Топовые новости
Новое

Инструкция CASE

Инструкция CASEИнструкцию CASE можно использовать множеством способов; выше было показано несколько простых примеров. Ее область применения не ограничивается запросами SELECT — она допустима и в инструкции UPDATE. В базе данных ACME столбец CUST_STATUS_S может содержать только значения Y и N. Следующий запрос меняет местами вхождение этих симов — лов в поля. Также эту функцию можно использовать в предложении WHERE и во вложенных запросах. Более подробно об использовании данных средств можно прочитать в документации СУБД. Эти две функции представляют собой частный случай функции Oracle DECODE и инструкции CASE. Они работают исключительно со значениями NULL и поддерживаются во всех трех ведущих базах данных. В IBM DB2 9.5 также имеется функция value, которая функционально идентична функции coalesce. Функция value в Oracle относится к группе объектноориентированных средств и не имеет отношения к неопределенным значениям.

Функция NULLIF сравнивает два выражения; если они равны, возвращается NULL, в противном случае — первое выражение. К примеру, в таблице CUSTOMER наряду со столбцом CUST_CREDHOLD_S содержится столбец CUST_STATUS_S, указывающий на активность учетной записи клиента. Если в этих столбцах содержится одно и то же значение, функция возвращает NULL; в противном случае значение столбца будет CUST_CREDHOLD_S. Этот прием может оказаться полезным при поиске противоречий в правилах бизнес-логики компании. Если кредитный статус клиента находится в состоянии задержки (значение N), то и активность его учетной записи также должна быть отрицательной (N). Если встречаются значения NULL, конфликт должен быть разрешен вручную одним из диспетчеров с помощью следующей инструкции.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *