Синтаксис добавления ограничения. Параметр ON DELETE CASCADE

Используйте инструкцию 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 как допустимый сотрудник.

2-13-1433795

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

Параметр ON DELETE CASCADE

Удаляет дочерние строки при удалении родительского ключа:

2-14-2248870

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

Далее: Сведения о таблицах

Похожие записи