Базы данных. Концепция баз данных, реляционная модель данных, языки SQL и XML. Токмаков Г.П. - 66 стр.

UptoLike

Составители: 

66
ALTERDOMAINимя
{[SETDEFAULT{литерал|NULL|USER}]|
[DROPDEFAULT]|
[ADD[CONSTRAINT]CHECK(<ограничен_домена>)]
[DROPCONSTRAINT]};
позволяет изменит параметры домена, определенного ранее оператором
CREATE DOMAIN. Однако нельзя изменить тип данных и определение NOT NULL.
Следует помнить, что все сделанные изменения будут учтены для всех столб-
цов, определенных с использованием данного домена (в том случае, если пара-
метры домена не были переопределены при создании столбцов таблицы или
впоследствии).
SETDEFAULT устанавливает значения по умолчанию подобно тому, как это
делается в операторе
CREATEDOMAIN.
DROPDEFAULT отменяет текущие значения по умолчанию.
[ADD[CONSTRAINT]CHECK (<ограничен_домена>)] добавляет усло-
вия, которым должны соответствовать значения столбца, ассоциированного с до-
меном. При этом возможно определение условий, рассмотренных выше для пред-
ложения CHECK оператора CREATEDOMAIN.
DROPCONSTRAINTудаляет условия, определенные для домена в предложе-
нии
CHECKоператораCREATEDOMAINилипредыдущихоператоровALTERDOMAIN.
Например, пусть определен домен
ID_TYPE:
CREATEDOMAINID_TYPEASINTEGER
CHECK(VALUE>=100);
и в дальнейшем использован при создании таблицы AAA:
CREATETABLEAAA
(IDID_TYPENOTNULL,
FIOVARCHAR(20),
PrimaryKEY(ID));
Изменить условие CHECK так, чтобы значение было больше или равно 100 и
меньше или равно 500, можно за два шага:
сначала нужно удалить старое условие
ALTERDOMAINID_TYPE
DROPCONSTRAINT;
затем добавить новое (которое есть модифицированное старое)
ALTERDOMAINID_TYPE
CHECK(VALUE>=100ANDVALUE<=500);
Заметим, что изменять определение таблицы AAA нет необходимости, и от-
ныне столбец
ID этой таблицы можно занести значения, большие или равные
100 и меньшие или равные 500.