部门代码,部门名称,上级代码
  000       a        
  001       a1      000
  002       a2      000
  003       a3      000
  004       a11     001
  005       a12     001
  006       a111    004
  007       a31     003
 ........上级部门的人员有权管辖下级部门信息,
即 000 的人员可以看所有部门的信息
   001 的人员可以看001 004 005 006等自己部门及隶属于自己的下级部门信息
部门允许多级管理请问,根据登陆人员的部门代码,如何获取所辖所有部门???
我记得oracle有相关sql关键词的,不过忘了另外请问,如果是如此的表结构,在其他数据库中怎么实现???请教各位大侠,谢谢!

解决方案 »

  1.   

    或者说,表结构是否需要改动?不一定用oracle
      

  2.   

    oracle 的我知道了 connect   by   prior   start with那如果不是oracle 的呢
      

  3.   

    不改表结构和数据的话,用楼上的方法    递归出结果或者上级代码 中  存储所有的  上级部门代码
    比如      004       a11     001换成      004       a11     001,000或者换成  004       a11     001
              004       a11     000
      

  4.   

    表结构改了估计也不好整,难道要生成一个人员管辖部门信息的表吗,原来那张插入的时候这个表也需要维护的,维护的时候也同样有现在的问题,同意三楼的调用存储过程,或者在java里面去实现