首页 > 数据库 >Oracle connect by prior 处理树状表

Oracle connect by prior 处理树状表

时间:2023-04-24 11:44:22浏览次数:43  
标签:end -- departmentname upperdepartmentid prior department connect Oracle departme

--基础篇
--1.建表
create table department(departmentid integer,departmentname varchar2(30),upperdepartmentid integer,manager varchar2(30));
--2.建序列
create sequence department_seq  start with 1 nocycle;
--3.建触发器
create trigger tr_department_id before insert on department
for each row 
begin
  select department_seq.nextval into :new.departmentid from dual;
end;
--4.建存储过程
create or replace procedure pr_add_department(deptName in varchar2,upperDeptName in varchar2) as
  pid integer;
begin
  if nvl(upperDeptName,'0')='0' then
     pid:=0;
  else
    select departmentid into pid from department where departmentname=upperDeptName;
  end if;
  insert into department(departmentname,upperdepartmentid) values(deptName,pid);
  commit;
end;

--5.查询
select * from department;
--6.更新
update department set departmentname='会计电算化',upperdepartmentid=9 where departmentid=10;

--7.添加树状表树根
begin
  pr_add_department('江西财经学院','');
end;
--8.添加分支
begin
  --pr_add_department('信息系','江西财经学院');
  pr_add_department('会计专业','江西财经学院');
end;
--9.查询树状表  level 分层级
select departmentid,departmentname,upperdepartmentid,level
 from department
connect by prior departmentid=upperdepartmentid
start with upperdepartmentid=0

标签:end,--,departmentname,upperdepartmentid,prior,department,connect,Oracle,departme
From: https://www.cnblogs.com/sundh1981/p/17348978.html

相关文章

  • Q:oracle解锁用户
    怎么查看oracle用户是否被锁1、一般oracle数据库默认是10次尝试失败后锁住用户1、查看FAILED_LOGIN_ATTEMPTS的值select*fromdba_profileswhereresource_name='FAILED_LOGIN_ATTEMPTS';2、修改为6(重启发生)、30次alterprofiledefaultlimitFAILED_LOGIN_ATTEMPTS......
  • 启动和运行ORACLE很慢, 连接PL SQL 很慢
    AIX登录和运行ORACLE很慢=========================DNS配置的问题AIX登录突然变得很慢,进入系统后运行ORACLE数据库也很慢,启动和关闭crs半个小时都完成,查看资源,cpu,内存,交换空间都很空闲,最后发现问题所在,原来是DNS解析惹的祸,查看主机上设置了namesever,服务器连接的时候要去解......
  • Oracle下启用块跟踪
    创建存放块跟踪文件目录[oracle@host01~]$cd/u01/app[oracle@host01app]$mkdirBCT启用块跟踪SQL>alterdatabaseenableblockchangetrackingusingfile'/u01/app/BCT/rman.bct';检查块跟踪状态SQL>colfilenamefora22SQL>selectfilename,status,bytesfromv$......
  • Oracle SQL 四分位 上四分位 下四分位 中位数
    OracleSQL四分位上四分位下四分位中位数平均值方差最大值最小值------------------------SQL四分位上四分位下四分位中位数----------------------SELECTPROD_ID,STAGE_ID,STEP_ID,RECIPE_ID,LOT_PRI,LOT_SIZE,PERCENTILE_CONT(0.25)WITHINGROUP(ORDE......
  • ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run
      今天执行mysql操作的时候出现了错误:ERROR2002(HY000):Can'tconnecttolocalMySQLserverthroughsocket'/var/run/mysqld/mysqld.sock'问题1:首先检查是否安装了mysql-server了 sudoapt-getinstallmysql-servertoinstallmysqlonubuntu  sudoapt-getin......
  • oracle按身份证号分组后按更新时间排序,取第一条数据
    select  t.*     from (select a.*,row_number() over(PARTITION BY A.IDENTITYCARD order by A.ACCESSIONTIME desc)rn             from T_PATIENT_INFO  a)t    where t.rn= 1 T_PATIENT_INFO--表IDENTITYCARD--证件号码ACC......
  • oracle数据库跟踪
    --数据库跟踪SELECT*FROMv$sqlwherelast_active_time>TO_DATE('2019-7-1813:17:00','yyyy-mm-ddhh24:mi:ss')ORDERBYLAST_ACTIVE_TIMEDESC;selects.sql_text,b.name,b.position,b.dup_position,b.value_string,s.LAST_ACTIVE_TIME,s.SQL_......
  • k8s-问题:[root@master log]# kubectl get node The connection to the server 192.168
    记一次测试虚拟机异常关机导致的问题[root@masterlog]#kubectlgetnodeTheconnectiontotheserver192.168.0.105:6443wasrefused-didyouspecifytherighthostorport?这个问题网上的大部分解决方案是kubeadminit直接这么搞我相信肯定能恢复,毕竟是重新初始化,但......
  • Liunx配置sudo使oracle用户有root权限执行脚本
    1、vi/etc/sudoers将%wheel两行前的注释#删除2. vi/etc/group将oracle用户加入wheel组......
  • web3 产品介绍: walletconnect 连接Web3 DApps与用户的移动加密钱包
    WalletConnect是一种去中心化的开源协议,旨在连接Web3DApps与用户的移动加密钱包,提供更安全、更便捷的加密货币交易体验。在本文中,我们将介绍WalletConnect的主要特点、工作原理以及如何使用它来连接DApps和移动钱包。一、WalletConnect的特点去中心化:WalletConnect不依赖于任......