Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 当外键在同一个表上时,如何在oracle中添加级联删除_Sql_Oracle_Cascade_Sql Delete_Cascading Deletes - Fatal编程技术网

Sql 当外键在同一个表上时,如何在oracle中添加级联删除

Sql 当外键在同一个表上时,如何在oracle中添加级联删除,sql,oracle,cascade,sql-delete,cascading-deletes,Sql,Oracle,Cascade,Sql Delete,Cascading Deletes,我有一个表,其中包含oracle中的一棵树 MY_TABLE node_id parent_id 当树的根没有父级时,如何添加级联删除 现在根的父id设置为-1。当我尝试此操作时,会出现以下错误: Error starting at line 1 in command: ALTER TABLE regional_defaults_working add CONSTRAINT regional_defaults_wk_delete FOREIGN KEY (parent_id) REFE

我有一个表,其中包含oracle中的一棵树

MY_TABLE
node_id
parent_id
当树的根没有父级时,如何添加级联删除

现在根的父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.

我记不起这是否有效,但我的第一个冲动是说为根设置parent\u id=NULL。

解决了这个问题


关键(并非双关语)是将您的父id设置为空,然后将根设置为空。

哦,当然……在我找到答案后,在我发布答案之前发布答案;)