Oracle存储过程 树状结构的存储与展示

简介: 树状结构的存储与展示  drop table article;    create table article  (    id number primary key,    cont varchar2(4000),    pid number,    isleaf number(1),  --0 代表非叶子节点,1代表叶子
树状结构的存储与展示
 drop table article;
 
 create table article
 (
   id number primary key,
   cont varchar2(4000),
   pid number,
   isleaf number(1),  --0 代表非叶子节点,1代表叶子节点 叶子节点:节点下面没有其他子节点
   alevel number(2)
 );
 
 insert into article values (1, '蚂蚁大战大象', 0, 0, 0);
 insert into article values (2, '大象被打趴下了', 1, 0, 1);
 insert into article values (3, '蚂蚁也不好过', 2, 1, 2);
 insert into article values (4, '瞎说', 2, 0, 2);
 insert into article values (5, '没有瞎说', 4, 1, 3);
 insert into article values (6, '怎么可能', 1, 0, 1);
 insert into article values (7, '怎么没有可能', 6, 1, 2);
 insert into article values (8, '可能性是很大的', 6, 1, 2);
 insert into article values (9, '大象进医院了', 2, 0, 2);
 insert into article values (10, '护士是蚂蚁', 9, 1, 3);
 commit;
 
 蚂蚁大战大象
     大象被打趴下了
             蚂蚁也不好过
       瞎说
  没有瞎说
     大象进医院了
         护士是蚂蚁
     怎么可能
     怎么没有可能
     可能性事很大的
 
 使用存储过程:
 create or replace proedure p (v_pid article.pid%type, v_level binary_integer) is
   cursor c is select * from article where pid = v_pid;
   v_preStr varchar2(1024) := '';
 begin
   for i in 1..v_level loop
   v_preStr := v_preStr || '****';
   end loop;
   for v_article in c loop
   dbms_output.put_line(v_preStr || v_article.cont);
   if(v_article.isleaf = 0) then
     p(v_article.id, v_level + 1);
   end if;
   end loop;
 end;
 
 set serveroutput on;
 exec p(0,0);
目录
相关文章
|
22天前
|
存储 Oracle 关系型数据库
服务器数据恢复—华为S5300存储Oracle数据库恢复案例
服务器存储数据恢复环境: 华为S5300存储中有12块FC硬盘,其中11块硬盘作为数据盘组建了一组RAID5阵列,剩下的1块硬盘作为热备盘使用。基于RAID的LUN分配给linux操作系统使用,存放的数据主要是Oracle数据库。 服务器存储故障: RAID5阵列中1块硬盘出现故障离线,热备盘自动激活开始同步数据,在同步数据的过程中又一块硬盘离线,RAID5阵列瘫痪,上层LUN无法使用。
|
1月前
|
存储 Oracle 关系型数据库
【赵渝强老师】Oracle的物理存储结构
Oracle的物理存储结构包括数据文件、联机重做日志文件、控制文件、归档日志文件、参数文件、告警日志文件、跟踪文件和备份文件。这些文件在硬盘上存储数据库的各种数据和日志信息,确保数据库的正常运行和故障恢复。视频讲解和详细说明见原文。
|
1月前
|
存储 Oracle 关系型数据库
oracle服务器存储过程中调用http
通过配置权限、创建和调用存储过程,您可以在Oracle数据库中使用UTL_HTTP包发起HTTP请求。这使得Oracle存储过程可以与外部HTTP服务进行交互,从而实现更复杂的数据处理和集成。在实际应用中,根据具体需求调整请求类型和错误处理逻辑,以确保系统的稳定性和可靠性。
68 0
|
6月前
|
存储 SQL 关系型数据库
MySQL 进阶使用【函数、索引、视图、存储过程、存储函数、触发器】(2)
MySQL 进阶使用【函数、索引、视图、存储过程、存储函数、触发器】
|
6月前
|
存储 SQL 关系型数据库
MySQL 进阶使用【函数、索引、视图、存储过程、存储函数、触发器】(1)
MySQL 进阶使用【函数、索引、视图、存储过程、存储函数、触发器】
|
4月前
|
Oracle 关系型数据库 BI
ORACLE Apex: EBS多组织结构 理解与配置
【8月更文挑战第11天】在Oracle Apex中理解和配置与EBS多组织结构相关内容需掌握:1) EBS多组织结构概念及组成部分,如法律实体、业务单位与库存组织;2) Oracle Apex与EBS集成的目的与方式,包括提供友好界面及自定义业务流程;3) 在Apex中配置多组织结构应用,涉及数据访问控制、页面报表设计及业务流程集成。整体而言,需精通EBS架构与Apex开发技术,以实现高效灵活的企业解决方案。
109 2
|
6月前
|
存储 SQL 关系型数据库
MySQL存储过程和存储函数的使用
MySQL的存储过程和存储函数在功能和用法上有明显的区别。存储过程是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,通过指定名称和参数(如果有)来调用执行,可以返回多个值或结果集,但不直接返回值。而存储函数则是一个有返回值的特殊存储过程,它返回一个值或表对象,可以直接嵌入SQL语句中使用,如SELECT语句中。两者都是为了提高SQL代码的重用性和性能,但使用场景和方式有所不同。
4321 4
|
6月前
|
存储 SQL 关系型数据库
MySQL 进阶使用【函数、索引、视图、存储过程、存储函数、触发器】(3)
MySQL 进阶使用【函数、索引、视图、存储过程、存储函数、触发器】
|
6月前
|
存储
Cloudstack启动实例模板从二级存储复制到主存储过程
Cloudstack启动实例模板从二级存储复制到主存储过程
|
6月前
|
存储 关系型数据库 MySQL
MySQL 进阶使用【函数、索引、视图、存储过程、存储函数、触发器】(4)
MySQL 进阶使用【函数、索引、视图、存储过程、存储函数、触发器】

推荐镜像

更多