Изменение определения домена

Оператор ALTER DOMAIN, имеющий следующий формат

ALTER DOMAIN имя

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

[DROP DEFAULT] |

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

[DROP CONSTRAINT] };

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

– SET DEFAULT устанавливает значения по умолчанию подобно тому, как это делается в операторе CREATE DOMAIN.

– DROP DEFAULT отменяет текущие значения по умолчанию.

– [ADD [CONSTRAINT] CHECK (<ограничен_домена>)] добавляет условия, которым должны соответствовать значения столбца, ассоциированного с доменом. При этом возможно определение условий, рассмотренных выше для предложения CHECK оператора CREATE DOMAIN.

– DROP CONSTRAINT – удаляет условия, определенные для домена в предложении CHECK оператора CREATE DOMAIN или предыдущих операторов ALTER DOMAIN.

Например, пусть определен домен ID_TYPE:

CREATE DOMAIN ID_TYPE AS INTEGER

CHECK(VALUE >= 100);

и в дальнейшем использован при создании таблицы AAA:

CREATE TABLE AAA

(ID ID_TYPE NOT NULL,

FIO VARCHAR(20),

Primary KEY(ID));

Изменить условие CHECK так, чтобы значение было больше или равно 100 и меньше или равно 500, можно за два шага:

– сначала нужно удалить старое условие

ALTER DOMAIN ID_TYPE

DROP CONSTRAINT;

– затем добавить новое (которое есть модифицированное старое)

ALTER DOMAIN ID_TYPE

CHECK(VALUE >= 100 AND VALUE <= 500);

Заметим, что изменять определение таблицы AAA нет необходимости, и отныне столбец ID этой таблицы можно занести значения, большие или равные 100 и меньшие или равные 500.

Создание таблиц


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: