Пример 9.13. Добавление ограничения уникальности значения.
Пример 9.12. Добавление ограничения NOT NULL.
Пример 9.11. Добавление ограничений первичного ключа.
Пример 9.10. Удаление столбца целого типа и добавление столбца-счетчика.
Пример 9.9. Поле КодТовара необходимо сделать первичным ключом.
Пример 9.8. Пример создания и удаления вычисляемого поля.
Пример 9.7. Добавления ограничения внешнего ключа, реализующего каскадные обновления и изменения.
Пример 9.6. Добавление ограничения внешнего ключа, реализующего декларативную ссылочную целостность.
ALTER TABLE Сделка ADD CONSTRAINT fk_Товар
FOREIGN KEY (КодТовара) REFERENCES Товар
ON UPDATE CASCADE ON DELETE CASCADE
ALTER TABLE Товар ADD Налог AS Цена*0.05
ALTER TABLE Товар DROP COLUMN Налог
Пусть создана таблица без ограничений:
CREATE TABLE Товар
(КодТовара INT,
Название VARCHAR(20),
Тип VARCHAR(20),
Дата DATETIME,
Цена MONEY,
Остаток INT)
Рассмотрим примеры внесения в таблицу всевозможных ограничений.
Пример 9.9. Поле КодТовара необходимо сделать первичным ключом. Выполнение следующей команды будет отвергнуто, поскольку поле КодТовара допускает внесение значений NULL.
ALTER TABLE Товар ADD CONSTRAINT pk1
PRIMARY KEY(КодТовара)
Сначала нужно изменить объявление столбца КодТовара, запретив внесение значений NULL:
ALTER TABLE Товар
ALTER COLUMN КодТовара INT NOT NULL
И только потом создать ограничение первичного ключа:
ALTER TABLE Товар ADD CONSTRAINT pk1
PRIMARY KEY(КодТовара)
Пример 9.10. Удалить столбец целого типа и добавить столбец-счетчик.
ALTER TABLE Товар DROP COLUMN КодТовара
ALTER TABLE Товар ADD
КодТовара INT IDENTITY(1,1)
Пример 9.11. Добавить ограничение первичного ключа.
ALTER TABLE Товар ADD CONSTRAINT pk1
PRIMARY KEY(КодТовара)
Пример 9.12. Изменить столбец, добавив ограничение NOT NULL.
ALTER TABLE Товар ALTER COLUMN
Название VARCHAR(40) NOT NULL
Пример 9.13. Добавить ограничение уникальности значения.
ALTER TABLE Товар ADD CONSTRAINT
u1 UNIQUE(Название)
Пример 9.14. Создать умолчание и добавить умолчание столбцу.
CREATE DEFAULT df1 AS 0
sp_bindefault 'df1', 'Товар.Остаток'
CREATE DEFAULT df2 AS GETDATE()
sp_bindefault 'df2', 'Товар.Дата'
Пример 9.15. Создать правило и добавить правило столбцу.