网站首页 > 文章中心 > 其它

怎么查下级oracle

作者:小编 更新时间:2023-09-04 15:00:42 浏览量:364人看过

oracle递归查询的问题,如何查询出现机构和其属下所有机构

select *

from table_name

where 1 = 1 --没有条件可以不写where

connect by parent_id = prior child_id

start with parent_id = 1

怎么查下级oracle-图1

oracle如何查询任意节点下的所有子节点

向下递归+叶子节点过滤就行了,例子:

--模拟数据

with?tmp(id,pid)?as

(SELECT?'A',''?FROM?DUAL?UNION?ALL

怎么查下级oracle-图2

SELECT?'B','A'?FROM?DUAL?UNION?ALL

SELECT?'C','A'?FROM?DUAL?UNION?ALL

SELECT?'D','B'?FROM?DUAL?UNION?ALL

SELECT?'E','B'?FROM?DUAL?UNION?ALL

SELECT?'F','C'?FROM?DUAL?UNION?ALL

SELECT?'G','F'?FROM?DUAL?)

SELECT?ID?FROM?TMP?T

WHERE?CONNECT_BY_ISLEAF=1?--只显示叶子节点

START?WITH?T.ID='A'?--递归起点,即查询条件

CONNECT?BY?PRIOR?ID=PID?--递归条件,向下递归

怎么查下级oracle-图3

求Oracle查询上下级关系语句

use tempdb

go

create table #emp

(eid integer not null,

ename varchar(10) not null,

epid integer null,

)

insert into #emp

union all

select * from #emp

;with empcte as

(select epid,(select ename from #emp b where b.eid = a.epid) as name from #emp a where ename = 'me'

select b.epid,(select ename from #emp where eid = b.epid) as name from empcte a join #emp b on a.epid = b.eid

select * from empcte where epid is not null

oracle查询

①系统表

ORACLE数据库的系统参数都存储在数据库中,可以通过SQLPLUS,以用户SYSYTEM进行查询.几个重要的表或者视图如下:

v$controlfile:控制文件的信息;

v$datafile:数据文件的信息;

v$log:日志文件的信息;

v$process:处理器的信息;

v$session:会话信息;

v$transaction:事务信息;

v$resource:资源信息;

v$sga:系统全局区的信息.

上面的视图名中的'v$',只是视图名字中的字符.类似于上面的视图或表还有很多,位于:

$ORACLE_HOME/RDBMS/ADMIN/CATALOG.SQL文件中.

这些视图或表可以在SQLPLUS中用SELECT语句进行查询.

表和列

DBA_TABLES、ALL_TABLES和USER_TABLES显示了有关数据库表的一般信息.

DBA_TAB_COLUMNS、ALL_TAB_COLUMNS和USER_TAB_COLUMNS显示了每个数据库表的列的信息.

注意:DBA_OBJECTS、ALL_OBJECTS和USER_OBJECTS显示了模式对象的信息,包括表.

完整性约束

DBA_CONSTRAINTS、ALL_CONSTRAINTS和USER_CONSTRAINST显示有关约束的一般信息.

DBA_CONS_COLUMNS、ALL_CONS_COLUMNS和USER_CONS_COLUMNS显示有关列的相关约束的一般信息.

视图

DBA_VIEWS、ALL_VIEWS和USER_VIEWS.

注意:DBA_OBJECTS、ALL_OBJECTS和USER_OBJECTS显示了模式对象的信息,包括视图.

序列

DBA_SEQUENCES、ALL_SEQUENCES和USER_SEQUENCES.

注意:DBA_OBJECTS、ALL_OBJECTS和USER_OBJECTS显示了模式对象的信息,包括序列.

同义词

DBA_SYNONYMS、ALL_SYNONYMS和USER_SYNONYMS.

注意:DBA_OBJECTS、ALL_OBJECTS和USER_OBJECTS显示了模式对象的信息,包括同义词.

索引

DBA_INDEXS、ALL_INDEXS、USER_INDEXS、DBA_IND_COLUMNS、ALL_IND_COLUMNS和USER_IND_COLUMNS.

用户

DBA_USERS.

角色

DBA_ROLES.

表空间定额

DBA_TS_QUOTAS.

配置表

DBA_PROFILES.

表空间

DBA_TABLESPACES.

数据文件

DBA_DATA_FILES.

DBA_SEGMENTS、USER_SEGMENT.

回滚段

DBA_ROLLBACK_SEGS、V$ROLLNAME、V$ROLLSTAT.

第二道题你参考楼上的就行了

oracle 查询问题,我想查询organ_name(地区名称)和上级地区名称(我想根据parent_id自连接查询)

你没有贴表名和结构代码,根据你的贴图,写了如下SQL,希望对你有帮助,如有问题可以追问,

你的表是树级的结构,有上下级关系,查询是比较容易的,用编号和用名称查没本质区别,你在套一层就可以了,

from 表名 a

connect by prior a.parent_id = a.organ_id

查 泰安市 的上级地区应该是 山东

如何查询oracle的

①查看所有用户:

select * from dba_users;

select * from all_users;

select * from user_users;

select * from dba_sys_privs;

select * from user_sys_privs; (查看当前用户所拥有的权限)

sqlselect * from role_sys_privs;

select * from dba_tab_privs;

select * from all_tab_privs;

select * from user_tab_privs;

select * from dba_role_privs;

select * from user_role_privs;

select * from V$PWFILE_USERS

以上就是土嘎嘎小编为大家整理的怎么查下级oracle相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章