oracle 遍历输出,oracle 遍历树

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实例启动时除了分配一块很大区域的内存外,还会启动一系列的进程。Oracle中的进程有哪些特点?

ORACLE进程可以分为用户进程、服务器进程、后台进程。

用户进程:用户连接数据库时会创建一个用户进程,该进程用于和服务器进行会话,向数据库服务器发生请求,接收数据库的响应。

服务器进程:由ORACLE数据库服务器 ......

ORACLE bin目录下各文件的意义及使用方法

$ORACLE_HOME/bin下的utilities解释

Binary               First Available         Description

---------         ......

1.打开cmd,输入sqlplus,回车

2.输入用户名:system/manager@orcl as sysdba,回车

3.create user muzai identified by muzai;   //创建muzai用户,密码为muzai

4.grant dba to muzai;    //把dba的权限赋给muzai这个用户 ......

事故原因:

1.由于误操作用hp unix 命令 rm -f datafilename 删除表空间的数据文件

2.alter tablespace tablespacenaem drop datafile datafile ;

3.drop tablespace tablespacename including content and datafiles;

上述两个步骤我用了近三个小时都没有执行完,最后导致数据库宕机。下面把我当时启动数据的后台� ......

你可能感兴趣的:(oracle,遍历输出)