根据其父子层次结构选择模式中的所有表

时间:2013-10-06 19:11:51

标签: sql oracle

我的要求是根据搜索条件从动态选择的一对表中删除数据。

因此,我的光标应该在其父子层次结构中获取表,以便在删除记录时不会发出异常'CHILD RECORD FOUND'。

让我们采取exable

表A是表B的孩子

表B是表C的孩子

表D是表格G的子项

所以它应该按此顺序删除。

A然后
B或D然后
D或G

1 个答案:

答案 0 :(得分:0)

如果使用级联外键,则无需担心表顺序。只需从层次结构的顶部删除(在您的示例中为表G),然后将以原子方式删除后代表中的所有相关行。

详细了解Cascading Referential Integrity Constraints


重新评论:

  

它也应该足够通用,即使没有删除级联,我们也不知道依赖关系。

有关在Oracle中发现约束的提示,请参阅以下问题: