易截截图软件、单文件、免安装、纯绿色、仅160KB

oracle 遍历树

oracle 怎么来遍历一个树,相比较其他方法,oracle的connect语法更能很便利的解决问题。
语法格式:
select ...
from ...
start with...
connect by prior expr=expr
order siblings by ..
start with 的功能类似于where,指明从哪个分支开始便利;
connect by 指明父节点和子节点地连接方式,关键字prior放在父节点之前;
order siblings by代表对同一层的节点进行排序方法。
例子:
select * from direct
start with parentid is null
connect by prior parentid = id;
结果:
id  name   parentid
1   oracle     null
2   assistants  1
3   bin              1
4   RDBMS        1
5   ADMIN        4
6   catcr.sql     5
7   catawrvw.sql  5
如果想看树的层次结构,可用oracle提供LEVEL伪列
方法如下:
select level,lpad(' ',level * 2 -1)|| '|' || name name
from direct
start with parentid is null
connect  by  prior id = parentid;
使用SYS_CONNECT_BY_PATH,取得之前的路径信息
select id,SYS_CONNECT_BY_PATH(name,'/') name
from direct
start with parentid is null
connect by prior id = parentid;


相关文档:

Oracle中Cursor介绍和使用

一  概念
游标是SQL的一个内存工作区,由系统或用户以变量的形式定义。游标的作用就是用于临时存储从数据库中提取的数据块。在某些情况下,需要把数据从存放在磁盘的表中调到计算机内存中进行处理,最后将处理结果显示出来或最终写回数据库。这样数据处理的速度才会提高,否则频繁的磁盘数据交换会降低效率。
二&n ......

oracle不同schema之间建外键

需要权限:
  grant references on test_sys to user_1;
 or
  grant all on test_sys to user_1;
测试:
sys用户下:
SQL> create user user_1 identified by user_1;
用户已创建。
SQL> grant dba to user_1;
授权成功。
SQL> create table test_sys(pk_col varchar2(5))
  2&nbs ......

oracle性能提高 批量绑定

author:skatetime:2010-05-04
在我们的系统里,大家在写pl/sql时,处理多条记录时,几乎都是通过游标来完成的,这样是非常影响性能的。我们可以用批量绑定可以大大的改善。
 
批量绑定是oracle9i增加的特性,是指执行单次sql操作能传递所有集合元素的数据。通过绑定绑定变量可以极大的提高数据处理速度,提高应用程 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号