在oracle中编写树级代码

oracle

create table Dept(
 DepartNO  varchar2(10),
   DepartName  varchar2(20),
 TopNo    varchar2(10));

insert into Dept values('001','董事会','0');
insert into Dept values('002','总裁办','001');
insert into Dept values('003','财务部','001');
insert into Dept values('004','市场部','002');
insert into Dept values('005','公关部','002');
insert into Dept values('006','销售部','002');
insert into Dept values('007','分销处','006');
insert into Dept values('008','业务拓展处','004');
insert into Dept values('009','销售科','007');

CREATE TABLE TempDept
(
 TempdeptNo    char(4), /*部门编号*/
 TempdeptName   varchar2(20), /*部门名称*/
  UpperTempdeptNo  char(4), /*上级部门编号*/
  UpperTempdeptName  varchar2(20), /*上级部门名称*/
 TempdeptLevel   number(4) /*部门所处的级别*/
);

select departname
from dept
connect by prior departno=topno
start with topno='0';

select a.departname top ,b.departname next
from dept a,dept b
where a.departno=b.topno;

select lpad(departno,level*2+length(departno),'\')
from dept
start with topno='0'
connect by prior departno=topno;

select departno,departname,level ||'\'|| topno
from dept
start with topno='0'
connect by prior departno=topno;

select lpad(departno,level*2+length(departno),' ')
from dept
start with topno='0'
connect by prior departno=topno;

select lpad(departno,level*3,' ')

时间: 2024-09-02 10:15:33

在oracle中编写树级代码的相关文章

教你在oracle中编写树级代码

这是在2002年给一个制衣厂做系统的时候写的,请大家多批评指正!  create table Dept( DepartNO  varchar2(10),   DepartName  varchar2(20), TopNo    varchar2(10)); insert into Dept values('001','董事会','0');insert into Dept values('002','总裁办','001');insert into Dept values('003','财务部','

oracle中如何编写树级代码

oracle 这是在2002年给一个制衣厂做系统的时候写的,请大家多批评指正! create table Dept( DepartNO  varchar2(10),   DepartName  varchar2(20), TopNo    varchar2(10)); insert into Dept values('001','懂事会','0');insert into Dept values('002','总裁办','001');insert into Dept values('003','

《Linux C编程从入门到精通》一第2章 在Linux中编写C语言代码2.1 Linux中C语言程序开发流程和工具介绍

第2章 在Linux中编写C语言代码 Linux C编程从入门到精通 Linux作为一个操作系统,一项重要的功能就是要支持用户编程.传统的UNIX下的程序开发语言是C语言,C语言是一种平台适应性强.易于移植的语言.Linux是用C语言写成的.反过来,Linux又为C语言提供了很好的支持,C语言编译工具gcc.调试工具gdb属于最早开发出来的一批自由软件.因此Linux与C语言形成了完美的结合,为用户提供了一个强大的编程环境,本章将介绍在Linux中编写C语言程序的流程和具体方法. 2.1 Lin

《Linux C编程从入门到精通》——第 2 章 在Linux中编写C语言代码 2.1Linux中C语言程序开发流程和工具介绍

第 2 章 在Linux中编写C语言代码 Linux作为一个操作系统,一项重要的功能就是要支持用户编程.传统的UNIX下的程序开发语言是C语言,C语言是一种平台适应性强.易于移植的语言.Linux是用C语言写成的.反过来,Linux又为C语言提供了很好的支持,C语言编译工具gcc.调试工具gdb属于最早开发出来的一批自由软件.因此Linux与C语言形成了完美的结合,为用户提供了一个强大的编程环境,本章将介绍在Linux中编写C语言程序的流程和具体方法. 2.1 Linux中C语言程序开发流程和工

db2和oracle中的树查询(递归查询)语句-

在db2和oracle中的对树的递归查询语句. 表结构: create table  MAIN_NODE ( MLA_ID               INTEGER     not null        ,   //节点ID MLA_ROOTID          INTEGER,                      //根节点ID MLA_PARENTID        INTEGER,                      //父节点ID MLA_NAME           

oracle中的树型查询

oracle         在项目开发中树型结构是经常被使用的,通常情况下我们对查询的结果集使用一些免费的js文件就能达到很好的显示效果,比如         但是有时候我们需要对下拉列表也提供树型结构(比如论坛的板块跳转),这个时候我们就可以使用oracle9i以上版本提供的CONNECT BY 子句了.  SELECT kindid,kindname,fatherid      FROM kn_kind      CONNECT BY PRIOR kindid=fatherid     

Oracle中存储过程执行大的Sql语句时如何查看sql是否正确

  在Oracle中编写一个存储过程中,有时会用到较大的sql语句,但是通过PL/sql工具Test查看时又不能看到sql的样子,通过查看发现可以通过Oracle的物理临时表来处理, 在存储过程中添加DBMS_OUTPUT.put_line('要输出的Sql语句'); 然后在PL/sql工具中选中存储过程,右键选择Test执行,执行完成后可以通过DBMS_OUTPUT窗口查看sql结果了,很实用的

SQL语句oracle中如何插入Date类型的数据

在开发的时候,经常要写条SQL语句将信息插入表中,插入的数据如果字段是date类型,就必须将date类型转换成字符串String类型在通过sql语句插入数据库.这是我字段唯一的方法,如果有高人请另赐教! 我的解决方法是用oracle中的to_date()方法,具体看下面的例子   Oracle中插入date数据代码    insert into news(ID,MSG,SEND_TIME,TIMER)    Oracle中插入date数据代码    values(20110101,'你好',to

微软在Vista中重编写了支持代码

微软周二修补了Windows.Office平台中的22项漏洞,其中包括一项Windows 7和Vista系统中的蓝牙技术漏洞,该漏洞可导致附近PC遭到劫持.在微软周二发布的4次更新公告中,只有一项被列为微软四级划分系统中最严重(critical)等级,其余三个被列为重要(important)等级.分析师表示,微软此次漏洞修复中最引人注目的一项就是严重级更新MS11-053,旧金山安全公司nCircle Security安全运营主管安德鲁·斯道姆斯(Andrew Storms)表示:"这个漏洞很诡