Oracle 方法

1、递归

 select zxdept
   from (select d.id, d.zxdept, d.RANK, d.fatherId
           from web_dept d
          start with d.id = 18022 --获取18022部门层级
                 and d.SHOWFLAG = 1
         connect by PRIOR fatherId = id) temp
  where temp.rank <= 4
  order by rank asc

结果:

1 分析及投后管理
2 财务部
3 财务部
4 管理中心

2、列拼接成行 wm_concat()

 select replace(wm_concat(zxdept), ‘,‘, ‘/‘) as 部门名称
   from (select zxdept
           from (select d.id, d.zxdept, d.RANK, d.fatherId
                   from web_dept d
                  start with d.id = 18022--获取18022部门层级
                         and d.SHOWFLAG = 1--可用
                 connect by PRIOR fatherId = id) temp
          where temp.rank <= 4--四级以内
            and temp.rank >= 1--大于等于一级
          order by rank asc)

结果:管理中心/财务部/财务部/分析及投后管理

3、获取最新分组内所有一条记录

select *
  from ( --以 orderno 分组,查找分组内最新一条工作流日志
        select t.*,
                row_number() over(partition by orderno order by FORTIME desc) rn
          from (select *
                   from WORKFLOW_INSTANCE_LOG
                  where orderno in (select to_char(ID) as id
                                      from HR_DIMISSION
                                     where USERCODE = ‘B143130‘
                                       and (FLAGSAVE = 2 or FLAGSAVE = 9) -- 离职单
                                    union all
                                    select to_char(ID) as id
                                      from HR_ConFirm
                                     where USERCODE = ‘B143130‘
                                       and FLAGSAVE = 2 -- 转正单
                                    union all
                                    select to_char(ID) as id
                                      from HR_Transposal
                                     where USERCODE = ‘B143130‘
                                       and FLAGSAVE = 2 -- 调岗单
                                    )) t)
 where rn = 1
时间: 2024-12-30 15:01:29

Oracle 方法的相关文章

重启oracle方法一二三

startup nomount alter database mount alter database open Linux:方法1 用root以ssh登录到linux,打开终端输入以下命令: cd $ORACLE_HOME #进入到oracle的安装目录 dbstart #重启服务器 lsnrctl start #重启监听器 cd $ORACLE_HOME #进入到oracle的安装目录 dbstart #重启服务器 lsnrctl start #重启监听器 Linux:方法2 (1) 以or

PLSQL Developer连接远程Oracle方法(非安装客户端)

远程连接Oracle比较麻烦,通常需要安装oracle的客户端才能实现.通过instantclient可以比较简单的连接远程的Oracle. 1.新建目录D:\Oracle_Cleint用于存放相关文件,新建目录D:\Oracle_Cleint\NETWORK\ADMIN用于存放tnsnames文件2.下载对应版本和系统的instantclient压缩包,解压得到instantclient文件夹,将该文件夹内的内容放在D:\Oracle_Cleint下. Oracle11GR2的instantc

PLSQL Developer连接远程Oracle方法(非安装client)

远程连接Oracle比較麻烦,通常须要安装oracle的客户端才干实现. 通过instantclient能够比較简单的连接远程的Oracle. 1.新建文件夹D:\Oracle_Cleint用于存放相关文件,新建文件夹D:\Oracle_Cleint\NETWORK\ADMIN用于存放tnsnames文件 2.下载相应版本号和系统的instantclient压缩包.解压得到instantclient目录.将该目录内的内容放在D:\Oracle_Cleint下. Oracle11GR2的insta

navicat连接oracle方法及其安装包

Navicat破解版下载(安装好之后,点击执行最后一个破解文件即可) 链接: https://pan.baidu.com/s/1pMpVwfT 密码: vrt6 连接oracle还需要下载以下文件,oracle官网需要注册(最无法忍受的就是注册什么鬼的还需要手机号码才可以,简直毫无隐私可言),所以我直接给出这个文件.这个文件 链接: https://pan.baidu.com/s/1jJDgjum 密码: qahh 连接成功 原文地址:https://www.cnblogs.com/biaope

Oracle——数据库启动与关闭

本文内容 服务器环境 客户端环境 概述 启动数据库 关闭数据库 补充 参考资料 本文说明 Oracle 数据库的启动和关闭,内容虽然基础,但是在数据库很多操作中都需要,因此,基础而重要,必须深入理解.比如,何种情况应该使用何种数据库加载模式,以及数据库文件打开模式. 服务器环境 Windows 2003 R2 Oracle11g 32位 客户端环境 Windows 2008R2 Oracle 11g 32位客户端 概述 若用 startup 命令启动数据库,执行的操作要经历三个不同的阶段: 实例

也谈Oracle异常: ORA-06502: PL/SQL: 数字或值错误 : 字符串缓冲区太小

场景: .Net程序调用Oracle方法 command.ExecuteNonQuery()执行存储过程;弹出如标题异常信息. 存储过程有4个输入参数,一个输出参数.一旦执行到给输出参数赋值的时候就报错.但在Plsql环境下调度,是正常的. 分析: 查阅各帖子,都说是变量长度不够,但设置也无果. 后来,怀疑是不是设置参数顺序有问题,调整,搞定. 解决: 存储过程中定义的参数,第一个为out,虽然在设置参数时,用了参数名,但好像没起什么作用.所以,把输出参数第一个设置,与定义顺序一致,就OK了.

Oracle行转列的函数

--行转列的函数-- CREATE OR REPLACE FUNCTION Calvin( col IN VARCHAR2,dw IN VARCHAR2) RETURN VARCHAR2 IS retval varchar2(32); Sel_sql varchar2(2000); ---//SQL语句声明 BEGIN Sel_sql:='select '||col||' from TB5001 where dwdm='''|| dw||''''; execute immediate Sel_s

【实战】静默安装-oracle 11.2.0.3 on centos 5.10

发现网上静默安装的文章很多,乱七八糟,五花八门!来个扫盲的!   centos 5.10 下安装oracle 11g_r2 ****************************************************************************** 1.系统部分 ****************************************************************************** ------1.安装系统 --applicat

linux centos环境下,perl使用DBD::Oracle遇到报错Can&#39;t locate DBDOracle.pm in @INC 的解决办法

前言 接手前辈的项目,没有接触.安装.使用过perl和DBD::Oracle,也没有相关的文档记录,茫茫然不知所措~~.一开始发现这个问题,就想着迅速解决,就直接在google上搜报错信息,搜索的过程中发现 如果不搞清楚前因后果我连解决方案都'看不见''看不懂'. 所以还是要补充这方面的知识,再思考解决方案.以下内容就是我一边学习一边解决问题的过程,如果不足,请各位大佬指出. 报错 install_driver(Oracle) failed: Can't locate DBD/Oracle.pm