Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
бд / Лекция 11 - Стандартные значения, правила, пользовательские типы данных.docx
Скачиваний:
24
Добавлен:
14.05.2015
Размер:
133.83 Кб
Скачать

Лекция 11. Стандартные значения, правила, пользовательскте типы данных. Стандартные значения

Стандартные значения – объекты БД, предназначенные для автоматического присвоения значения столбцу таблицы при вставке новой строки, если для этого столбца не было указано явное конкретное значение. Стандартное значение также может быть связано с пользовательским типом данных.

Стандартные значения, созданные как самостоятельные объекты БД, могут быть приктеплены к неограниченному количеству столбцов. Кроме этого, можно создавать стандартное значение при создании столбца таблицы. Если требуется удалить столбец, к которому прикреплено стандартное значение, сначала необходимо открепить его от столбца.

Когда определение DEFAULT добавляется к существующему в таблице столбцу, по умолчанию Database Engine использует это определение лишь для новых добавляемых в таблицу данных. Существующие данные, которые вносились во время действия предыдущего определения DEFAULT, остаются без изменений. Однако при добавлении нового столбца к существующей таблице, можно указать, чтобы вместо значения NULL Database Engine поместил значение по умолчанию (указанное в определении DEFAULT) в новый столбец во всех существующих в таблице строках.

После удаления определения DEFAULT Database Engine будет помещать в соответствующий столбец добавляемых строк значение NULL, а не значение по умолчанию, когда при вставке значение столбца не указано. Однако уже находящиеся в таблице данные не изменяются.

Создание и прикрепление стандартных значений

Создание объектов, называемых стандартными значения выполняется командой CREATE DEFAULT. Синтаксис команды приведен ниже:

CREATE DEFAULT default AS constant_expression,

где default – имя стандартного значения. Заданные по умолчанию имена должны соответствовать правилам для идентификаторов. Определение имени владельца стандартного значения необязательно;

constant_expression – выражение, которое содержит только постоянные значения (оно не может включать имена любых столбцов или других объектов базы данных). Любая постоянная, встроенная функция, или математическое выражение может использоваться. Включайте символ или дату в единственные кавычки (‘); денежно-кредитные, целочисленные, и с плавающей точкой константы не требуют кавычек. Двоичным данным должен предшествовать 0x, денежно-кредитным данным должен предшествовать долларовый признак ($). Стандартное значение должно быть совместимо с типом данных столбца.

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

Стандартное значение - привилегированный, стандартный способ ограничить данные столбца.

Прикрепление стандартного значения:

sp_bindefault <имя стандартного значения>, <имя объекта, к которому прикрепляется стандартное значение>

Открепление стандартного значения:

sp_unbindefault <имя стандартного значения>, <имя объекта, к которому прикрепляется стандартное значение>

CREATE DEFAULT Adress_default AS 'unknown'

/* Привязка к столбцу таблицы */

Sp_bindefault Adress_default,’tbl_chitateli.adress’