sql之oracle中外键同表时如何添加级联删除

txw1958 阅读:17 2024-11-24 20:56:43 评论:0

我有一个包含 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. 

请您参考如下方法:

我不记得这是否有效,但我的第一 react 是为根设置 parent_id=NULL。


标签:oracle
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号