Каскадные ограничения - Пример

  • Предложение 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),
CONSTRAINT ck2 CHECK (col2_fk > 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);

Далее: Сведения о последовательностях

Статьи по теме
Комментарии
Написать

(обязательно)

(обязательно)

Это не спам (обязательно)