我的要求是从根据搜索条件动态选择的几个表中删除数据。
所以我的游标应该在它们的父子层次结构中获取表,这样它在删除记录时不会给出异常'CHILD RECORD FOUND'。
让我们采取行动
表 A 是表 B 的子表
表 B 是表 C 的子表
表 D 是表 G 的子表
所以它应该按这个顺序删除。
A 然后
B 或 D 然后
D 或 G
如果您使用级联外键,则不必担心表顺序。只需从层次结构的顶部删除(在您的示例中为表 G),然后将自动删除后代表中的所有相关行。
阅读有关级联参照完整性约束的更多信息。
回复您的评论:
即使删除级联不存在并且我们不了解依赖关系,它也应该足够通用以处理删除。
有关在 Oracle 中发现约束的提示,请参阅以下问题: