Решение практических


Добавление нового CHECK CONSTRAINT



бет40/55
Дата12.05.2023
өлшемі1,43 Mb.
#92531
түріРешение
1   ...   36   37   38   39   40   41   42   43   ...   55
Байланысты:
СУБД-1

Добавление нового CHECK CONSTRAINT



Опциональные секции:

      1. [ WITH { CHECK | NOCHECK } ] – в случае отсутствия применяется значение WITH CHECK

      2. [ NOT FOR REPLICATION ] если конструкция указана, то ограничение не проверяется при вставке или обновлении данных в момент репликации; если конструкция пропущена –ограничение проверяется.

Примеры команд будут приведены для простейшей таблицы Employees, которая выглядит следующим образом:


Изменение существующего CHECK CONSTRAINT


Для обновления существующего проверочного ограничения используется конструкция ALTER TABLE. Для изменения доступны только следующие свойства:

    • Check Existing Data On Creation Or Re-Enabling

    • Enforce For INSERTs And UPDATEs


Опциональные секции:

  1. [ WITH { CHECK | NOCHECK } ] – в случае отсутствия применяется значение WITH NOCHECK

  2. [, …n] – позволяет задать имя более чем одного ограничения, к которым будут применены изменения; использование слова ALL изменения применятся ко всем проверочным ограничениям на таблице. [1]

Удаление существующего CHECK CONSTRAINT


Команда очень проста и не требует дополнительных объяснений. Ещё шаблон:

Ограничение по умолчанию (DEFAULT)


Дополнительным механизмом использования значений по умолчанию являются объекты базы данных, созданные командой:
CREATE DEFAULT имя_умолчания AS константа
Умолчание связывается с тем или иным столбцом какой-либо таблицы с помощью процедуры:
sp_bindefault [@defname=] 'default', [@objname=] 'object_name' [,[@futureonly=] 'futureonly_flag'], где
'object_name'
может быть представлен как 'имя_таблицы.имя_столбца'
Удаление ограничения по умолчанию выполняется командой DROP DEFAULT {имя_умолчания} [,...n]
если предварительно это ограничение было удалено из всех таблиц процедурой
sp_unbindefault [@objname=] 'object_name' [,[@futureonly=] 'futureonly_flag'] [1] Примеры
Пусть создана таблица без ограничений:
CREATE TABLE Товар
(КодТовара INT, Название VARCHAR(20), Тип VARCHAR(20),
Дата DATETIME, Цена MONEY, Остаток INT)
Рассмотрим примеры внесения в таблицу всевозможных ограничений.
Пример Поле КодТовара необходимо сделать первичным ключом. Выполнение следующей команды будет отвергнуто, поскольку поле КодТовара допускает внесение значений NULL.
ALTER TABLE Товар ADD CONSTRAINT pk1
PRIMARY KEY(КодТовара)
Сначала нужно изменить объявление столбца КодТовара, запретив внесение значений NULL:
ALTER TABLE Товар
ALTER COLUMN КодТовара INT NOT NULL
И только потом создать ограничение первичного ключа:
ALTER TABLE Товар ADD CONSTRAINT pk1
PRIMARY KEY(КодТовара)


Достарыңызбен бөлісу:
1   ...   36   37   38   39   40   41   42   43   ...   55




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет