Oracle中Start with...Connect By理解及用法
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
&
相关文档:
oracle表空间操作详解
1
2
3作者: 来源: 更新日期:2006-01-04
5
6
7建立表空间
8
9CREATE TABLESPACE data01
10DATAFILE '/ora ......
最近有一任务,需要使用Oracle数据库,以前对此不太熟悉,就从网上查找资料,(说实在的网络真是太好了,也多亏了许多的热心的技术人员,愿意把自己的经验和心得与大家分享)并转贴了一个帖子参考,不过此帖子有些地方没有说清楚,确实让我费了好大劲,才测试成功。下面我把我的步骤说明一下:(环境:Windows XP sp2 + vs ......
一、在PLSQL中创建表:
create table HWQY.TEST
(
CARNO VARCHAR2(30),
CARINFOID NUMBER
)
二、在PLSQL中创建存储过程:
create or replace procedure pro_test
AS
carinfo_id number;
BEGIN
select s_CarInfoID.nextval into carinfo_id
from dual;
insert into test(test ......
《1》DDL语句(数据定义语言) Data Define Language
create
alter
drop
truncate 开头的语句 truncate table <表名>
特点:<1>建立和修改数据对象
&nb ......
为了确定表空间中包含那些内容,运行:
select owner,segment_name,segment_type
from dba_segments
where tablespace_name='<name of tablespace>'
查询表空间包含多少数据文件。
select file_name, tablespace_name
from dba_data_files
where tablespace_name ='<name of t ......