-
Предложение
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);
Далее: Сведения о последовательностях