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

Oracle中start with...connect by prior子句用法

connect by 是结构化查询中用到的,其基本语法是:
select ... from tablename start with 条件1
connect by 条件2
where 条件3;
例:
select * from table
start with org_id = 'HBHqfWGWPy'
connect by prior org_id = parent_id;
简单说来是将一个树状结构存储在一张表里,比如一个表中存在两个字段:
org_id,parent_id那么通过表示每一条记录的parent是谁,就可以形成一个树状结构。
用上述语法的查询可以取得这棵树的所有记录。
其中:
条件1 是根结点的限定语句,当然可以放宽限定条件,以取得多个根结点,实际就是多棵树。
条件2 是连接条件,其中用PRIOR表示上一条记录,比如 CONNECT BY PRIOR org_id = parent_id就是说上一条记录的org_id 是本条记录的parent_id,即本记录的父亲是上一条记录。
条件3 是过滤条件,用于对返回的所有记录进行过滤。
简单介绍如下:
早扫描树结构表时,需要依此访问树结构的每个节点,一个节点只能访问一次,其访问的步骤如下:
第一步:从根节点开始;
第二步:访问该节点;
第三步:判断该节点有无未被访问的子节点,若有,则转向它最左侧的未被访问的子节,并执行第二步,否则执行第四步;
第四步:若该节点为根节点,则访问完毕,否则执行第五步;
第五步:返回到该节点的父节点,并执行第三步骤。
总之:扫描整个树结构的过程也即是中序遍历树的过程。
1. 树结构的描述
树结构的数据存放在表中,数据之间的层次关系即父子关系,通过表中的列与列间的关系来描述,如EMP表中的EMPNO和MGR。EMPNO表示该雇员的编号,MGR表示领导该雇员的人的编号,即子节点的MGR值等于父节点的EMPNO值。在表的每一行中都有一个表示父节点的MGR(除根节点外),通过每个节点的父节点,就可以确定整个树结构。
在SELECT命令中使用CONNECT BY 和蔼START WITH 子句可以查询表中的树型结构关系。其命令格式如下:
SELECT 。。。
CONNECT BY {PRIOR 列名1=列名2|列名1=PRIOR 裂名2}
[START WITH];
其中:CONNECT BY子句说明每行数据将是按层次顺序检索,并规定将表中的数据连入树型结构的关系中。PRIORY运算符必须放置在连接关系的两列中某一个的前面。对于节点间的父子关系,PRIOR运算符在一侧表示父节点,在另一侧表示子节点,从而确定查找树结构是的顺序是自顶向下还是自底向上。在连接关系中,除了可以使用列名外,还允许使用列表达式。START WITH 子句为可选项,用


相关文档:

oracle中emp表的内连接,左外连接,右外连接,全外连接

EMP表中员工与老板的关系
内连接:
        
内连接也叫自然连接,它是组合两个表的常用方法。自然连接将两个表中的列进行比较,将两个表中满足连接条件的行组合起来,作为结果。自然连接有两种形式的语法。
select e1.ename,e1.mgr,e2.ename aa from emp e1,emp e2 where e1. ......

oracle的license和正版使用问题

oracle的license和正版使用问题
url:http://blog.csdn.net/outget1/archive/2009/10/15/4675028.aspx
2008-06-30 23:42
1, 正版Oracle 产品和盗版的区别
直奔主题,这是许多研发不注意的地方。对于商用(就是你不是在家里,自己玩),严格来说,就是一张许可证纸的区别。不管是什么时候,下载的版本都可以建立数据库并 ......

ORACLE 行列转换通用存储过程,已经转换的MSSQL版本

下面是ORACLE行列转换通用存储过程:
1、
Function Fun_Split_Str(p_Str Varchar2, p_Division Varchar2, p_Seq Int)
    Return Varchar2 Is
    v_First Int;
    v_Last  Int;
  Begin
    If p_Seq < 1 Then
   &nbs ......

Oracle 用户及角色 介绍


.
用户管理
1.1
建立用户(数据库验证)
    
CREATE
 
USER
  
DAVE  
IDENTIFIED 
BY
  
pwd
    
DEFAULT
TABLESPACE 
users
    
TEMPORARY
  
TABLESPACE  ......

java jdbc 调用 oracle存储过程 返回游标

1.创建测试表
create table users(
userid int primary key,
username varchar2(20),
userpwd  varchar2(20)
);
insert into users values(1,'test','test');
insert into users values(2,'test','test');
insert into users values(3,'test','test');
insert into users values(4,'test','test');
insert i ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号