Отмена определения домена

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

Немного поупражняемся с доменом SALARY. Для изменения значения заработной платы по умолчанию с 10000 на 11000 руб. нужно выполнить оператор

 

ALTER DOMAIN SALARY SET DEFAUL 11000.00;

 

Для отмены значения по умолчанию в домене SALARY нужно воспользоваться оператором

 

ALTER DOMAIN SALARY DROP DEFAUL;

 

Если к определению домена SALARY требуется добавить ограничение (например, запретить значение зарплаты, равное 15000 руб.), то нужно выполнить оператор

 

ALTER DOMAIN SALARY ADD CHECK (VALUE <> 15000.00);

 

Наконец, если требуется отменить (именованное!) ограничение целостности, препятствующее наличию неопределенных значений в столбцах, которые определы на домене SALARY, то нужно выполнить оператор

 

ALTER DOMAIN SALARY DROP CONSTRAINT SAL_NOT_NULL;

 

 

Чтобы отменить ранее созданное определение домена, нужно воспользоваться оператором DROP DOMAIN в следующем синтаксисе:

 

DROP DOMAIN domain_name {RESTRICT | CASCADES}

 

Если в операторе указано RESTRICT, и если соответствующий домен использован в определении некоторого столбца, в определении некоторого представления (см. следующие лекции) или в определении ограничения целостности (см. следующий раздел этой лекции и следующие лекции), то оператор DROP DOMAIN отвергается. В противном случае определение домена ликвидируется.

 

Если в операторе DROP DOMAIN указано CASCADES, то оператор выполняется всегда. При этом уничтожаются все представления и ограничения целостности, в определении которых использовалось имя данного домена. Столбцы, определенные на этом домене, автоматически переопределяются следующим образом:

· считается, что каждый такой столбец теперь относится к определяющему типу уничтожаемого домена;

· если у столбца не было определено собственное значение по умолчанию, то считается, что теперь у него имеется такое значение по умолчанию, совпадающее со значением по умолчанию уничтожаемого домена;

· каждый столбец наследует все ограничения уничтожаемого домена.