Используйте инструкцию ALTER TABLE в следующих целях:
-
добавление или удаление ограничения без изменения структуры;
-
включение или отключение ограничений;
-
добавление ограничения
NOT NULLс помощью предложенияMODIFY.
ALTER TABLE ADD [CONSTRAINT ] type (); |
|---|
Для существующих таблиц можно добавить ограничение, используя инструкцию ALTER TABLE с предложением ADD.
Элементы синтаксиса:
-
tableимя таблицы; -
constraintимя ограничения; -
typeтип ограничения; -
columnимя столбца, на который распространяется ограничение.
Синтаксис имени ограничения является необязательным, хотя рекомендуется его придерживаться. Если ограничениям не присваивать имена, имена ограничений создаются системой.
Указания
-
Ограничение можно добавить, удалить, включить или отключить, однако невозможно изменить структуру ограничения.
-
В существующий столбец можно добавить ограничение
NOT NULL, используя предложениеMODIFYинструкцииALTER TABLE.
Примечание. Столбец NOT NULL можно определить только в том случае, если таблица является пустой или если в столбце имеется значение для каждой строки.
Добавление ограничения
Добавьте в таблицу EMP2 ограничение внешнего ключа (FOREIGN KEY), указывающее, что менеджер уже должен существовать в таблице EMP2 как допустимый сотрудник.

В первом примере на рисунке изменяется таблица EMP2 для добавления ограничения первичного ключа (PRIMARY KEY) на столбец EMPLOYEE_ID. Обратите внимание, что поскольку имя ограничения не указано, ограничение автоматически именуется сервером Oracle. Во втором примере на рисунке создается ограничение внешнего ключа (FOREIGN KEY) на таблицу EMP2. Ограничение гарантирует, что менеджер будет существовать в таблице EMP2 как допустимый сотрудник.
Параметр ON DELETE CASCADE
Удаляет дочерние строки при удалении родительского ключа:

Действие ON DELETE CASCADE позволяет удалять, но не обновлять данные родительского ключа, на которые имеются ссылки из дочерней таблицы. Когда данные в родительском ключе удаляются, все строки в дочерней таблице, которые зависят от значений удаленного родительского ключа, также удаляются. Чтобы задать это ссылочное действие, включите параметр ON DELETE CASCADE в определение ограничения FOREIGN KEY.
Далее: Сведения о таблицах