Connect by得出的结果不能进行insert,也不能用来进行Join ?这个是为什么?
例如
insert into a
select * from b
connect by parent = prior child为什么总是死掉?或者说这个操作会很花费时间?如果光select得到结果5秒钟,insert加入以后就进程死掉.还有
select * from
(select * from b
connect by parent = prior child ) t
left outer join s
on t.col1 = s.col1为什么这样操作也不可以?,同上问题.
例如
insert into a
select * from b
connect by parent = prior child为什么总是死掉?或者说这个操作会很花费时间?如果光select得到结果5秒钟,insert加入以后就进程死掉.还有
select * from
(select * from b
connect by parent = prior child ) t
left outer join s
on t.col1 = s.col1为什么这样操作也不可以?,同上问题.
解决方案 »
- oracle递归查询中,每个层次都按照既定的字段(如:px字段)排序,请问如何处理
- 请问一个问题,第一次碰到这个错误,大神来瞧瞧
- 怎么找到sqlca.sqlerrtext文件?
- 请问各位大哥ORA-01403 NO DATA FOUND 的问题
- 救死,,,,存储过程
- 问一个问题,SQL的[面试遇到N次了,还是不会]
- (高分请教)通过存储过程procedure怎么获取一个表的所有记录
- 安装中的net8 configuration assistant问题
- 求PowerDesign的实例
- 用户模式导入数据时,如何覆盖原有记录?
- Linux 下oracle的导入
- 存储过程,oracle插入数据,某列递增1
connect by 子句,它可以对具有家族树结构的分枝进行排序
Connect by得出的结果,是能进行insert和outer join的!
至于你说的死掉,这个要看你connect BY 递归是不是耗时
还有,递归本来就比较耗费时间
但是当你要insert的时候,或者你要outer join的时候就不行了
(
ID NUMBER,
NAME VARCHAR2(10),
PARENT NUMBER
)然后插入几条数据
1 a
2 a1 1
3 a2 1
4 a11 2
5 a12 2
6 a3 1执行以下SQL可顺利完成create table b as
select * from a
connect by parent = prior id怀疑您的问题:
connect by 一般是 和 start with 一起使用。 否则会穷举递推出很多杂乱的数据。
是否漏了 start with
如果没有Insert into 表A 这一句,那么整个SQL运行时间是0.3s
还有一点不知道有没有关系,select * from 表B@DBlink connect By *** Start with ***
我使用了link,所以我怀疑是不是这个问题.
select * from b
connect by parent = prior child死循环,递归操作