Используйте инструкцию 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
.
Далее: Сведения о таблицах