-
Предложение
CASCADE CONSTRAINTSиспользуется вместе с предложениемDROP COLUMN.
-
Предложение
CASCADE CONSTRAINTSпозволяет удалять все ссылочные ограничения целостности, которые ссылаются на первичные и уникальные ключи, определенные в удаляемых столбцах. -
Предложение
CASCADE CONSTRAINTSудаляет также все ограничения, состоящие из нескольких столбцов и определенные в удаляемых столбцах.
Эта инструкция служит примером использования предложения CASCADE CONSTRAINTS.
Предположим, что таблица TEST1 создается следующим образом:
CREATE TABLE test1 ( col1_pk NUMBER PRIMARY KEY, col2_fk NUMBER, col1 NUMBER, col2 NUMBER, CONSTRAINT fk_constraint FOREIGN KEY (col2_fk) REFERENCES test1, CONSTRAINT ck1 CHECK (col1_pk > 0 and col1 > 0),
|
Ошибка возвращается для следующих инструкций:
ALTER TABLE test1 DROP (col1_pk);–col1_pkявляется родительским ключом.ALTER TABLE test1 DROP (col1);– наcol1ссылается ограничениеck1, состоящее из нескольких столбцов.
Пример:

При выполнении следующей инструкции удаляется столбец EMPLOYEE_ID, ограничение первичного ключа и все ограничения внешних ключей, ссылающиеся на ограничение первичного ключа для таблицы EMP2:
ALTER TABLE emp2 DROP COLUMN employee_id CASCADE CONSTRAINTS;
Если все столбцы, на которые ссылаются ограничения, определенные в удаляемых столбцах, также удаляются, тогда предложение CASCADE CONSTRAINTS не требуется. Например, предположив, что никакие другие ограничения целостности из других таблиц не ссылаются на столбец COL1_PK, допустимо передать следующую инструкцию без предложения CASCADE CONSTRAINTS для таблицы TEST1, созданной на предыдущей странице:
ALTER TABLE test1 DROP (col1_pk, col2_fk, col1);
Далее: Сведения о последовательностях