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

oracle中connect by prior实现递归查询

收集的几条在oracle中通过connect by prior来实现递归查询
Start with...Connect By子句递归查询一般用于一个表维护树形结构的应用。
创建示例表:
CREATE TABLE TBL_TEST
(
ID    NUMBER,
NAME VARCHAR2(100 BYTE),
PID   NUMBER                                  DEFAULT 0
);
插入测试数据:
INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('1','10','0');
INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('2','11','1');
INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('3','20','0');
INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('4','12','1');
INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('5','121','2');
从Root往树末梢递归
select * from TBL_TEST
start with id=1
connect by prior id = pid
从末梢往树ROOT递归
select * from TBL_TEST
start with id=5
connect by prior pid = id
===============================================================================================================
有一张表   t 
字段: 
parent 
child 
两个字段的关系是父子关系 
  
写一个sql语句,查询出指定父下面的所有的子 
  
比如 
  
a   b 
a   c   
a   e 
b   b1 
b   b2 
c   c1 
e   e1 
e   e3 
d   d1 
  
指定parent=a,选出 
a   b 
a   c   
a   e 
b   b1 
b   b2 
c   c1 
e   e1 
e   e3 
  
SQL语句: 
select   parent,child   from   test   start   with   parent='a' 
connect   by   prior   child=p


相关文档:

Oracle密码文件的作用和说明


在数据库未启动之前登陆从而启动数据库如果没有口令文件,在数据库未启动之前就只能通过操作系统认证.使用Rman,很多时候需要在nomount,mount等状态对数据库进行处理。所以通常要求sysdba权限如果属于本地DBA组,可以通过操作系统认证登陆如果是远程sysdba登陆,需要通过passwordfile认证。
1.remote_login_passwordfile ......

ORACLE常用FAQ

 第一部分、SQL&PL/SQL
[Q]怎么样查询特殊字符,如通配符%与_
[A]select * from table where name like 'A_%' escape ''
[Q]如何插入单引号到数据库表中
[A]可以用ASCII码处理,其它特殊字符如&也一样,如
insert into t values('i'||chr(39)||'m'); -- chr(39)代表字符'
或者用两个单引号表示一个
or ......

SQL语言基础考核(一)(oracle)

 1.利用下面的脚本创建BOOK,READER 和 BORROW 表,并完成后面的联系。
CREATE TABLE BOOK(
    NO CHAR(8) PRIMARY KEY,
    TITLE VARCHAR2(50) NOT NULL,
    AUTHOR VARCHAR2(20) ,
    PUBLISH VARCHAR2(20),
    PUB_DA ......

oracle 恢复表到以前的某个状态

 select * from sys.smon_scn_time;
--scn 与时间的对应关系
每隔5分钟,系统产生一次系统时间标记与scn的匹配并存入sys.smon_scn_time表。
select * from student as of scn 592258
就可以看到在这个检查点的表的历史情况。
然后我们恢复到这个检查点
insert into student  select * from student a ......

Oracle 语法之 OVER (PARTITION BY ..) 及开窗函数


oracle的分析函数over 及开窗函数
一:分析函数over
Oracle从8.1.6开始提供分析函数,分析函数用于计算基于组的某种聚合值,它和聚合函数的不同之处是
对于每个组返回多行,而聚合函数对于每个组只返回一行。
下面通过几个例子来说明其应用。           &nb ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号