Oracle SQL. 100 шагов от новичка до профессионала. 20 дней новых знаний и практики - стр. 17
Снять данное ограничение можно с помощью команды изменения поля таблицы MODIFY.
Синтаксис
Добавлять ограничения на вставку пустых значений можно при создании таблицы.
CREATE TABLE TABLENAME (
Column1 NOT NULL, ColumnN NOT NULL
);
Это стандартный синтаксис создания таблицы, к имени колонки добавляется синтаксис ограничения NOT NULL.
Или изменять значения для уже готовой таблицы с помощью команды ALTER TABLE.
ALTER TABLE TABLENAME MODIFY ColumnName NOT NULL
Примеры
Создание таблицы «Корзина» с ограничением на вставку пустых значений в колонки itemNAME, itemCOUNT.
CREATE TABLE shopINgcart (
article VARCHAR2 (50) PRIMARY KEY
,itemNAME VARCHAR2 (50) NOT NULL
,itemCOUNT NUMBER NOT NULL
);
Запрет добавления пустого значения в FirstName в таблицу MAN.
ALTER TABLE MAN MODIFY FirstName NOT NULL
Запрет добавления пустого значения в LAStName.
ALTER TABLE MAN MODIFY LAStName NOT NULL
То есть значение в колонке LAStName MAN обязательно должно быть заполнено.
Снимаем ограничение на вставку пустых значений:
ALTER TABLE MAN MODIFY LAStName NULL
После выполнения команды значение в колонке LAStName MAN обязательно должно быть заполнено.
Ограничения на уникальность
Данный вид ограничений позволяет указать, что в заданные колонки необходимо добавлять только уникальные неповторяющиеся значения.
Синтаксис
ALTTER TABLE TABLENAME ADD CONSTRAINT cINs_NAME
UNIQUE (columnNAME);
Пример:
ALTTER TABLE CITY ADD CONSTRAINT CITY_uniq
UNIQUE (CITYNAME);
Названия городов, только уникальные значения.
Ограничения на вторичный ключ
Подобный вид ограничений мы уже рассматривали, когда изучали первичные и вторичные ключи. Смысл данного ограничения в том, что в колонке некоторой таблицы (вторичный ключ) могут находится только значения, которые есть в другой, основной таблице в колонке первичного ключа.
Синтаксис
ALTER TABLE for_TABLE
ADD CONSTRAINT fk_const_NAME
FOREIGN KEY (fk_column)
REFERENCES primary_talbe (pk_column);
Здесь for_TABLE, fk_column – таблица, колонка, куда устанавливается ограничение. Проверка значений происходит в таблице primary_talbe и колонке pk_column.
Пример
Здесь для таблицы MAN колонки CITYCODE устанавливается ссылочное ограничение по колонке CITYCODE с таблицей CITY, где CITY является главной таблицей.
ALTER TABLE MAN
ADD CONSTRAINT fk_MAN_CITY_CODE
FOREIGN KEY (CITYCODE)
REFERENCES CITY (CITYCODE);
Ограничение CHECK на вставку и изменение данных
– вычитание;
Синтаксис
ALTER TABLE TABLENAME ADD CONSTRAINT CHECK_NAME
CHECK (condition);
Здесь condition – условие, CHECK_NAME – наименование ограничения, TABLENAME – имя таблицы.