У меня есть таблица, содержащая дерево в оракуле.Как добавить каскадное удаление в оракуле, когда внешний ключ находится в одной таблице
MY_TABLE
node_id
parent_id
Как добавить каскадное удаление, если корень дерева не будет иметь родителя?
В настоящее время родительский идентификатор установлен равным -1 для корня. Когда я пытаюсь это, я получаю следующее сообщение об ошибке:
Error starting at line 1 in command:
ALTER TABLE regional_defaults_working
add CONSTRAINT regional_defaults_wk_delete
FOREIGN KEY (parent_id)
REFERENCES regional_defaults_working(node_id)
ON DELETE CASCADE
Error report:
SQL Error: ORA-02298: cannot validate (XVTEST.REGIONAL_DEFAULTS_WK_DELETE) - parent keys not found
02298. 00000 - "cannot validate (%s.%s) - parent keys not found"
*Cause: an alter table validating constraint failed because the table has
child records.
О, конечно ... отправьте ответ сразу после того, как я выясню его и прямо перед отправкой;) – testing123