Домены

  • Часть 1
  • | 2
  • | 3
  • | 4
  • | 5

CREATE DOMAIN TYear AS SMALLINT CHECK (VALUE BETWEEN 1990 AND 2100);. Просмотреть список доменов, определенных в БД, и структуру каждого из них можно в IBExpert с помощью инспектора объектов.

Определение существующего домена можно изменить с помощью запроса ALTER DOMAIN. Этот запрос позволяет:

-   удалить существующее и определить новое значение по умолчанию (заменяя при этом старое значение, если оно было указано);

-   удалить существующее и ввести новое ограничение целостности.Синтаксис запроса ALTER DOMAIN имеет следующий формат:

ALTER DOMAIN имя_домена {

[SET DEFAULT { литерал| NULL | USER}]

| [DROP DEFAULT]

| [ADD [CONSTRAINT] CHECK (<ограничение_домена>)]

| [DROP CONSTRAINT] };,

где

SET DEFAULT – указывает для существующего домена значение по умолчанию;

DROP DEFAULT - для существующего домена удаляет значение по умолчанию;

ADD [CONSTRAINT] CHECK - добавляет ограничение для существующего домена;

DROP CONSTRAINT – удаляет CHECK ограничение из определения домена.

Например, созданный домен Telephone можно изменить, удалив ограничение, следующим запросом:

ALTER DOMAIN Telephone DROP CONSTRAINT; или установив другое значение по умолчанию следующим запросом: ALTER DOMAIN Telephone SET DEFAULT '111111';.

Существующий домен можно удалить с помощью запроса DROP DOMAIN, имеющего следующий синтаксис:

DROP DOMAIN имя_домена;.

Примечание. Домен не будет удален, если на него имеются какие-либо ссылки, т.е. существуют таблицы со столбцами, определенными на этом домене.

Например, если попытаться на учебной БД удалить домен BOOLEAN: DROP DOMAIN BOOLEAN;,

то будет выдано сообщение об ошибке следующего вида: "column BOOLEAN is used in table REQUEST (localname EXECUTED) and cannot be dropped" [столбец BOOLEANиспользуется в таблице REQUEST(локальное имя EXECUTED) и не может быть удален].

предыдущаяследующая