Используйте инструкцию ALTER TABLE
в следующих целях:
добавление или удаление ограничения без изменения структуры;
включение или отключение ограничений;
добавление ограничения
NOT NULL
с помощью предложенияMODIFY
.
ALTER TABLE <table_name> |
---|
Для существующих таблиц можно добавить ограничение, используя инструкцию 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
.