`
hpjianhua
  • 浏览: 241633 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类

Oracle中的树状展示与储存

阅读更多
[size=medium]树状结构的存储与展示:
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);
	cmmmit;



展示树状展示:
	
create or replace procedure 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;


显示出错的信息:show error;

set serveroutput on;

调用存储:exec p(0,0);

SQL> exec p(0,0);
蚂蚁大战大象
----大象被打趴下了
--------蚂蚁也不好过
--------瞎说
------------没有瞎说
--------大象进医院了
------------护士是蚂蚁
----怎么可能
--------怎么没有可能
--------可能性很大

PL/SQL 过程已成功完成。
分享到:
评论

相关推荐

    Ajax+jsp+oracle实现动态树形菜单

    在IT行业中,动态树形菜单是一种常见的用户界面元素,它能以树状结构展示数据,使得用户能够方便地浏览和操作层次化的信息。本项目利用Ajax、JSP和Oracle数据库技术,实现了这样一个功能,让我们来深入探讨一下这些...

    Oracle中树的操作

    为了展示树形结构,可以使用Oracle中的`START WITH`和`CONNECT BY PRIOR`语句。下面的查询将从根节点(名称为'ROOT')开始,递归地显示所有子节点。 ```sql SELECT ST.* FROM SCOTT_TREE ST START WITH ST.NAME = '...

    Java与Oracle实现的树形菜单

    在这个项目中,数据可能存储在Oracle数据库中,包括菜单的层次结构、权限信息等。Java通过JDBC(Java Database Connectivity)接口与Oracle进行交互,执行SQL查询来获取菜单数据。 3. **Servlet**:Servlet是Java ...

    oracle树形结构,结合dtree插件使用显示树状结构菜单

    在本例中,"oracle树形结构"可能指的是利用Oracle数据库存储和查询树形结构数据的方法。这可能涉及到创建适当的表结构,定义父子节点关系的字段,以及编写查询语句来获取层级数据。查询可能包括查找特定节点的所有子...

    Excel树形结构数据导入Oracle数据库(Java)

    这篇博客“Excel树形结构数据导入Oracle数据库”提供了一个解决方案,下面将详细解析这个过程。 首先,我们需要理解Excel数据的树形结构。在Excel中,数据可能以层次化的形式存在,比如一级分类、二级分类等,形成...

    Oracle树查询及相关函数

    Oracle树查询是数据库管理中一种非常实用的技术,...总结来说,Oracle的树查询语法和相关函数提供了强大的工具,用于处理和展示层级数据。正确理解和运用这些工具,可以帮助我们高效地处理具有层次关系的复杂数据结构。

    oracle树结构查询方法

    在某些特定的应用场景中,这些数据不仅在二维表格中呈现,还可能呈现出树形结构,这在处理层级关系时尤其常见。比如,一个员工信息表(EMP)可以包含员工编号(EMPNO)和上级经理编号(MGR),通过这两列,我们可以...

    oracle树查询

    在Oracle数据库中,可以通过定义表结构来存储这种树状结构的数据,通常会有一个字段用于表示父节点的ID(如`SJFLID`表示上级分类ID),还有一个字段用于表示当前节点的ID(如`ID`)。 #### 二、创建基础表结构 ...

    运用Hibernate来支持在Oracle中的Java3D虚拟场景

    在Oracle中,一个基于...3D模型在Oracle 11g空间数据中存储和建模,也开发了2个自定义Java类来映射Oracle 11g空间类型中的SDO_GEOMETRY数据类型,用于解决Hibernate目前不支持对SDO_GEOMETRY数据类型进行映射的问题。

    Silverlight4 连接数据库 树形展示数据

    在本文中,我们将深入探讨如何使用Silverlight 4在Visual Studio 2010环境下连接Oracle数据库,并将数据以树形结构展示在Web应用程序中。首先,我们需要了解Silverlight 4的基本概念及其与WCF(Windows ...

    oracle培训值得拥有

    CONNECT BY用于处理层次结构数据,构建数据树形展示,适用于组织架构或分类层次的查询。 存储过程是Oracle数据库中的重要组成部分,它预编译并存储在服务器上,提高了执行效率。存储过程封装了复杂的业务逻辑,减少...

    Oracle递归SQL学习

    在本主题中,我们将深入探讨如何利用递归SQL在Oracle中展示一棵树形结构,以及如何根据父ID遍历所有的子ID。 首先,让我们分析给出的SQL查询语句: 1. `start with id = #id#` 这是递归查询的起点,`#id#`是一个...

    ORACLE_SQLDeveloper使用教程

    - 在 SQL Developer 中,可以轻松地浏览数据库中的各种对象,如表、视图、存储过程等。 - 对象列表通常显示在左侧的树状结构中。 2. **创建、导入导出 Oracle 数据库连接:** - SQL Developer 支持创建新的...

    Web树形级联菜单,连接oracle,嵌套ajax

    在Web开发中,树形级联菜单是一种常见的用户界面元素,尤其在数据层次结构复杂的系统中,如组织架构、文件目录或数据库表关系的展示。本项目实现了将这种菜单与Oracle数据库连接,利用Ajax和Servlet技术,实现了动态...

    oracle客户端

    - **对象浏览器**:提供一个树形结构,展示数据库中的所有对象,如表、视图、序列、存储过程等,方便用户浏览和操作。 - **编辑器**:内置的PL/SQL代码编辑器支持语法高亮、自动完成、错误检查等功能,提升开发...

    ORACLE中解析XML.pdf

    文章中的PL/SQL存储过程示例展示了如何在Oracle数据库中创建一个过程,该过程接收XML字符串作为输入,然后解析XML数据,以执行某些操作,如插入数据到数据库中。 5. 错误处理:在解析XML或者进行数据库操作时,总是...

    ibatis下oracle树查询

    在本话题中,我们将探讨如何在使用iBatis框架与Oracle数据库时实现树形查询。 首先,iBatis是一个优秀的持久层框架,它允许开发者将SQL语句直接写在XML配置文件或者注解中,提供了比传统JDBC更高级的抽象层,使得...

Global site tag (gtag.js) - Google Analytics