Oracle start with ... connect by prior 用法
语法:
select *
from 表名
where 条件1
start with 条件2
connect by prior 当前表字段=级联表字段
start with与connect by prior语句完成递归记录,形成一棵树形结构,通常可以在具有层次结构的表中使用。
start with表示开始的记录
connect by prior 指定与当前记录关联时的字段关系
代码:
--创建部门表,这是一个具有层次结构的表,子记录通过parent_id与父记录的id进行关联
create table DEPT(
ID NUMBER(9) PRIMARY KEY, --部门ID
NAME VARCHAR2(100), --部门名称
PARENT_ID NUMBER(9) --父级部门ID,通过此字段与上级部门关联
);
向表中插入如下数据,为了使代码简单,一个部门仅具有一个下级部门
●从根节点开始查询递归的记录
select *
from dept
start with id=1
connect by prior id = parent_id;
下面是查询结果,start with id=1表示从id=1的记录开始查询,向叶子的方向递归,递归条件是id=parent_id,当前记录的id等于子记录的parent_id
●从叶子节点开始查询递归的记录
select *
from dept
start with id=5
connect by prior parent_id = id;
下面是查询结果,递归条件按照当前记录的parent_id等与父记录的id
●对查询结果过滤
select *
from dept
where name like '%销售%'
start with id=1
connect by prior id = parent_id;
在下面的查询结果中可以看到,首先使用start with... connect by prior查询出树形的结构,然后where条件才生效,对全部查询结果进行过滤
●prior的作用
prior关键字表示不进行递归查询,仅查询出满足id=1的记录,下面是将第一个查询去掉prior关键字后结果
select *
from dept
start with id=1
connect by prior id = parent_id;
相关文档:
Oracle最新认证题库资料下载
Actualtests Oracle 1Z0-200 V11.07.08
Actualtests Oracle 1Z0-211 V11.10.08
Actualtests Oracle 1Z0-212 V11.07.08
Actualtests Oracle 1Z0-213 V11.07.08
Actualtests Oracle 1Z0-101 V11.07.08
Actualtests Oracle 1Z0-132 V11.07.08
Actualtests Oracle 1Z0-140 V11.21.08
Actual ......
Oracle job 管理
SVRMGR> select * from dba_jobs;
初始化相关参数job_queue_processes
alter system set job_queue_processes=39 scope=spfile;//最大值不能超过1000 ;job_queue_interval = 10 //调度作业刷新频率秒为单位
DBA_JOBS describes all jobs in the database.
USER_JO ......
最近在论坛上一直看到有朋友对数据字典里的内容搞不太清楚,比如说V$、V_$、GV$等等,到底哪个是同义词,哪个是视图,哪个基于哪个创建。今天正好看到盖国强的《深入浅出ORACLE》第三章讲到这方面内容,总结一下,也方便大家学习。
数据字典由四部分组成:
1、内部RDBMS(X$)表
X$是Oracle数据库的核心部分,这些 ......
问题描述
=======
在试图启动数据库的时候,Oracle报告下列错误:
ERROR:
ORA-27101 Shared memory realm does not exist
ORA-01034 ORACLE not available
基本解释
=======
Error: ORA-27101
Text: shared memory realm does not exist
-------------------------------------------
Ca ......
Oracle 中的数据字典是数据库中的非常重要的一部分,提供了相关数据库的信息,它是所有 Oracle 用户(从应用的最终用户、应用的设计开发者到数据库管理员)的非常重要的信息来源。数据字典的创建,是在 Oracle 数据库创建完毕后,运 ......