Неверно создана таблица изменения ограничений - PullRequest
1 голос
/ 13 апреля 2011

Мне пришлось изменить существующее ограничение, чтобы оно каскадно обновляло и удаляло. Для этого я сначала удалил ограничение и планировал добавить его (через ALTER TABLE), но это не удалось.

Когда я фиксирую запрос ниже, он выдает ошибку 'ORA-01735: invalid ALTER TABLE option':

ALTER TABLE 
    PARAM 
ADD CONSTRAINT 
    FK_PARAM_PORTLET FOREIGN KEY (PORTLETID) 
REFERENCES PORTLET(ID) 
ON DELETE CASCADE ON UPDATE CASCADE;

Есть идеи, что это может быть? Я что-то пропускаю?

Ответы [ 2 ]

2 голосов
/ 13 апреля 2011

Oracle не поддерживает ON UPDATE CASCADE во внешних ключах.

Посмотрите на этот вопрос, чтобы получить советы: Как создать внешний ключ с "ON UPDATE CASCADE" в Oracle?

0 голосов
/ 13 апреля 2011

ОБНОВЛЕНИЕ КАСКАДА не поддерживается в Oracle.Вам нужно будет управлять этим с помощью триггеров.

Проверка Оператор Oracle :

Ограничения ссылочной целостности могут указывать конкретные действия, которые должны выполняться над зависимыми строками вдочерняя таблица, если значение родительского ключа, на которое указывает ссылка, изменено.Ссылочные действия, поддерживаемые ограничениями целостности FOREIGN KEY в Oracle: UPDATE, DELETE NO ACTION и DELETE CASCADE.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...