- 浏览: 361334 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (292)
- jbpm3.2 (4)
- hibernate (1)
- struts (2)
- spring (7)
- oracle (20)
- TCP/UDP (3)
- SpringSide (4)
- maven (4)
- eclipse插件 (11)
- 模板引擎 (2)
- javascript (4)
- 设计模式 (2)
- 工作中遇到异常及解决 (3)
- java文件编译问题 (1)
- ehcache应用 (1)
- java反射 (1)
- jbpm4 (1)
- Google-Gson (1)
- Jquery (6)
- XML (5)
- 工作记事 (2)
- flash builder 4 (1)
- Lucene (8)
- struts2 (1)
- AspectJ (1)
- spring proxool连接池配置 (1)
- StringUtils (1)
- spring security (5)
- JAVA点滴 (9)
- jbpm4.3 (1)
- ACL (0)
- 线程 (7)
- Java线程:新特征-线程池 (1)
- MemCache (5)
- compass (0)
- NIO (2)
- zookeeper (4)
- 并发 (2)
- redis (9)
- Nginx (5)
- jvm (1)
- 互联网 (24)
- shell (3)
- CAS (1)
- storm (4)
- 数据结构 (3)
- MYSQL (3)
- fsdfsdfsd (0)
- hadoop (19)
- hive (3)
- IntelliJ (3)
- python (3)
- 23423 (0)
- spark (7)
- netty (9)
- nmon (1)
- hbase (8)
- cassandra (28)
- kafka (2)
- haproxy (3)
- nodejs (3)
- ftp (1)
最新评论
-
记忆无泪:
遇到这个问题我用的sed -i 's/\r$//' /mnt/ ...
CentOS6 Shell脚本/bin/bash^M: bad interpreter错误解决方法 -
alenstudent:
Windows 下Nexus搭建Maven私服 -
dandongsoft:
lucene3+IK分词器 改造 lucene2.x+paoding -
duanyanrui:
学习了,支持
Google-Gson -
yscyfy:
这是你直接翻译过来的???
Google-Gson
详见com.ninetowns.ssh2Frame.userDataPerm.service.impl. UserDataPermManageImpl
connect by prior start with 经常会被用到一个表中存在递归关系的时候。比如我们经常会将一个比较复杂的目录树存储到一个表中。或者将一些部门存储到一个表中,而这些部门互相有隶属关系。这个时候你就会用到connect by prior start with。
典型的使用方法就是:
select * from table connect by prior cur_id=parent_id start with cur_id=???
例如:
a b
1 0
2 1
3 1
4 2
5 3
如果想查找a=2及其下面的所有数据,则:
select * from table connect by prior a=b start with a=2
a b
2 1
4 2
这些只是基础,皮毛。其实只要你灵活的构造查询语句。可以得出意想不到的结果。比如生成树每一个路径。
但是这些记录组成的树必须正常才可以。如果有互为父子的情况,就会出现循环错误!
select * from tb_cus_area_cde
--子取父
select * from tb_cus_area_cde a
CONNECT BY PRIOR a.c_snr_area=a.c_area_cde START WITH a.c_area_cde='1040101'
--父取子
select * from tb_cus_area_cde a
CONNECT BY PRIOR a.c_area_cde=a.c_snr_area START WITH a.c_snr_area is null
注意:在用这个函数的时候,statement的参数要用 ResultSet.TYPE_SCROLL_INSENSITIVE 而不能用 ResultSet.TYPE_SCROLL_SENSITIVE,在这里再把这两个之间的区别讲讲:
1.TYPE_FORWORD_ONLY,只可向前滚动;
2.TYPE_SCROLL_INSENSITIVE,双向滚动,但不及时更新,就是如果数据库里的数据修改过,并不在ResultSet中反应出来。
3.TYPE_SCROLL_SENSITIVE,双向滚动,并及时跟踪数据库的更新,以便更改ResultSet中的数据
发表评论
-
查看及修改oracle编码格式方法
2011-10-25 13:30 918--查看oracle数据库字符集: select us ... -
oracle11g 空表导出
2011-10-21 15:08 716oracle11g的新特性,数据条数是0时不分配segment ... -
oracle远程导入导出
2011-09-13 13:43 614远程导出/导入 exp/imp 用户名/密码@ ... -
oracle创建表空间、用户、用户授权
2011-08-27 16:38 815ORACLE中,表空间是数据管理的基本方法,所有用户的对象要存 ... -
触发器编写
2011-06-28 23:56 742以前项目中编写的触发器 create or repla ... -
自己曾经写的同步数据的存储过程
2011-06-28 23:53 1276------------------------------- ... -
JDBC调用函数和存储过程
2011-06-28 23:49 1978JDBC调用存储过程 (1) Connection con ... -
Oracle游标使用的经验总结
2011-06-28 23:47 959以下的文章主要是介绍Oracle游标使用,以下就是具体方案的描 ... -
oracle数组,游标,case查询
2011-06-28 23:45 1484create or replace procedure ttt ... -
oracle中SQL修改序列
2011-06-28 23:43 1999导入表数据时要修改表对应的序列值方法: declare ... -
oracle左连接的两种写法的差异
2011-06-28 23:42 1602有两个表T1和T2,两个表除了主键索引外均无其他索引,这两个表 ... -
Oracle左连接,右连接
2011-06-28 23:41 1514数据表的连接 有: 1、内连接(自然连接): 只有两个表相匹配 ... -
使用hibernate透明操作blob
2011-06-28 23:38 1287前言:Oracle的blob操作的复杂性我想很多人都见识过了, ... -
各种数据库使用JDBC连接的方式
2011-06-28 23:36 630下面罗列了各种数据库使用JDBC连接的方式,可以作为一个手册使 ... -
oracle rownum和rowId
2011-06-28 23:34 911oracle rownum和rowId 精通 ... -
oracle2中分页语句
2011-06-28 23:33 463--第一种分页 rowidselect * from fee_ ... -
事物的隔离级别
2011-06-28 23:26 924事务的四个属性:原子性(atomicity)、一致性(cons ... -
无法分配 111620 字节的共享内存 ("shared pool","select tfi.ins_process_name
2011-06-24 17:43 1120无法分配 111620 字节的共享内存 ("shar ... -
oracle服务器配置文件路径
2011-05-16 11:36 1684oracle安装目录\Db_1\NETWORK\ADMIN ...
相关推荐
connect by prior数据库树的应用
Oracle start with.connect by prior子句实现递归查询
oracle中 connect by prior 递归算法 Oracle中start with...connect by prior子句用法 connect by 是结构化查询中用到的
select 1 from 表格 start with … connect by prior id = pId start with:表示以什么为根节点,不加限制可以写1=1,要以id为123的节点为根节点,就写为start with id =123 connect by:connect by是必须的,...
文章主要知识点: Oracle 递归查询, start with connect by prior 用法 find_in_set 函数 concat,concat_ws,group_...第一种情况: start with 子节点id = ' 查询节点 ' connect by prior 子节点id = 父节点id
oracle中的数查询,介绍的详细,有例子。
NULL 博文链接:https://yunqiang-zhang-hotmail-com.iteye.com/blog/1312354
ORACLE查询树型关系(connect_by_prior_start_with)
Oracle_start_with_connect_by_prior_用法[文].pdf
一、 ORA-01436报错 开发遇到一个报错 ORA-01436: CONNECT BY loop in user data (ORA-01436: 用户数据中的 CONNECT BY 循环)。...CONNECT BY PRIOR r1.region_id = r1.parent_id; 如果数据在region
。。。
。。。
Oracle row_number()over start with...connect by prior start with...connect by prior
oracle菜单树查询 使用实例 使用START WITH CONNECT BY PRIOR子句实现递归查询
connect by prior selfid=parentid //联接条件为子接点等于父接点,不能反 这个SQL主要用于菜单的级联查询,给一个父接点可以查出所有的子接点。及子接点的子接点,一查到底,很实用。不过呢这个程序只能在oracle...
格式: SELECT column FROM table_name START WITH column=value CONNECT BY PRIOR 父主键=子外键 select lpad(‘ ‘,4*(level-1))||name name,job,id,super from emp start with super is null connect by prior id...
Oracle使用递归查询。查询树结构的sql。在Oracle中,递归查询要用到start with ……connect by prior……
前言 对于数据库中的树形结构数据,如部门表,有时候,我们需要知道某部门的所有下属部分或者某部分的所有上级部门,这时候就需要用到...select 1 from 表格 start with … connect by prior id = pId start with
No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, mechanical, electronic, photocopying, recording, or otherwise, without prior ...