4
|
FrustratedWithFormsDesigner · 技术社区 · 15 年前 |
![]() |
1
7
你想要这样的东西:
原始查询的问题是子表的uc.constraint_name是外键的名称。这对于将第一个子级连接到根表来说是很好的,但是您不需要将第二级的子级连接到第一级。这就是为什么您需要针对约束进行两次联接——一次是获取表的主键,一次是获取外键。 顺便说一句,如果您要查询所有的视图而不是用户的视图,那么您通常希望将它们加入到表名和所有者中,而不仅仅是表名。如果多个架构具有相同名称的表,则仅在表名上联接将产生不正确的结果。 |
![]() |
2
3
对于具有多个模式和多个根表的情况,请尝试如下操作:
|
![]() |
3
0
经过深入调查,我制作了自己的版本,它处理所有表,并检索表在层次结构中的最大级别(它读取所有模式,同时考虑到没有父子关系的表,这些表将与根表一起位于级别1)。如果您有访问权限,请使用DBA表格而不是所有表格。
编辑: 在查找无限循环时,此查询存在“某种”问题。 如果我们有这棵树:
它将把2级分配给C级:
对于D,它将检测
因此,正如您所看到的,问题在循环内部,来自外部的值总是有其最大正确的lvl |
![]() |
jkfe · 为什么println会在这段递归代码中执行? 2 年前 |
![]() |
Jimmy · 这种算法怎么能按顺序遍历树“爬上”树呢? 2 年前 |
![]() |
AvirukBasak · gcc中无return语句的尾部递归 2 年前 |
![]() |
Dharmik Patel · 使用python递归完全可以整除 2 年前 |
![]() |
W.tan · 一维最短距离递归算法 2 年前 |
![]() |
ncarrawa · 将1添加到i(递归)时出现类型错误 2 年前 |
![]() |
Eren · Python递归何时返回[duplicate] 2 年前 |