热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

写了个存储过程,找某个组织以及该组织的下级组织的所有人员

下面是数据库表结构*Table:MY_ORG_LIST*createtableMY_ORG_LIST(CORG_IDvarchar(36)notnull,CORG_NAMEvarc
下面是数据库表结构
None.gif
/* Table: MY_ORG_LIST                                          */
None.gifcreate table MY_ORG_LIST (
None.gifCORG_ID              
varchar(36)          not null,
None.gifCORG_NAME            
varchar(50)          null,
None.gifCREMARK              
varchar(1024)        null,
None.gifCSTATUS              
int                  null,
None.gifCORG_TYPE            
int                  null,
None.gif
constraint PK_MY_ORG_LIST primary key  (CORG_ID)
None.gif)
None.gif
go
None.gif
/* Table: MY_ORG_USER                                          */
None.gifcreate table MY_ORG_USER (
None.gifCROW_ID              
varchar(36)          not null,
None.gifCPARENT_ID           
varchar(36)          not null,
None.gifCCHILD_ID            
varchar(36)          not null,
None.gifCTYPE                
int                  null,
None.gifCGRADE_ID            
varchar(36)          null,
None.gifCREF_KEY             
int                  null,
None.gif
constraint PK_MY_ORG_USER primary key  (CROW_ID)
None.gif)
None.gif
go
None.gif
None.gif
/* Index: IDX_ORG_USER_RELATION_UQ                              */
None.gifcreate   index IDX_ORG_USER_RELATION_UQ on MY_ORG_USER (
None.gifCPARENT_ID,
None.gifCCHILD_ID
None.gif)
None.gif
go
None.gif
/* Table: MY_USER_LIST                                         */
None.gifcreate table MY_USER_LIST (
None.gifCUSER_ID             
varchar(36)          not null,
None.gifCUSER_NAME           
varchar(20)          null,
None.gifCNAME                
varchar(20)          null,
None.gifCPASSWORD            
varchar(20)          null,
None.gifCPASS_STATUS         
int                  null,
None.gifCUSER_GRADE          
int                  null,
None.gifCSEX                 
varchar(4)           null,
None.gifCREMARK              
varchar(1024)        null,
None.gifCONGUARD             
int                  null,
None.gifCSTATUS              
int                  null,
None.gifCWORKFOLDER          
varchar(1024)        null,
None.gif
constraint PK_MY_USER_LIST primary key  (CUSER_ID)
None.gif)
None.gif
go

下面是存储过程:
None.gifcreate  procedure pro_comp_user(
None.gif@i_comp_id 
varchar(60)
None.gif)
None.gif
None.gif
as
None.gif
--查找组织以及下级组织的所有人员 2004-07-15
None.gif
declare @ORG_TABLE table
None.gif(
None.gif    CORG_ID        
varchar(36),
None.gif    CLEVEL        
int
None.gif)
None.gif
None.gif
declare @CLEVEL        int
None.gif
declare @CPARENT_ID    varchar(36)
None.gif
declare @CCHILD_ID    varchar(36)
None.gif
set @CPARENT_ID = @i_comp_id
None.gif
set @CLEVEL = 1
None.gif
None.gif
insert into @ORG_TABLE
None.gif(CORG_ID,CLEVEL) 
values (@CPARENT_ID,@CLEVEL)
None.gif
None.gifloops:
None.gif
None.gif
None.gif
begin
None.gif
None.gif
None.gif    
insert into @ORG_TABLE
None.gif    
select     CCHILD_ID     CORG_ID,
None.gif        @CLEVEL    
+ 1
None.gif        
None.gif    
from    MY_ORG_USER
None.gif    
where    CPARENT_ID in 
None.gif        (
select CORG_ID from @ORG_TABLE where CLEVEL = @CLEVEL)    and
None.gif        CTYPE 
= 1
None.gif    
None.gif    
if @@rowcount > 0
None.gif    
begin
None.gif        
set @CLEVEL = @CLEVEL + 1
None.gif        
goto loops
None.gif    
end
None.gif    
None.gif
end
None.gif
None.gif
begin
None.gif
select    c.CNAME        ,
None.gif    c.CUSER_NAME
None.gif    
--d.CORG_ID    ,
None.gif
    --d.CORG_NAME    
None.gif

None.gif
from    @ORG_TABLE a
None.gif    
inner join MY_ORG_USER b
None.gif        
on a.CORG_ID = b.CPARENT_ID
None.gif    
inner join MY_USER_LIST c
None.gif        
on b.CCHILD_ID = c.CUSER_ID
None.gif    
inner join MY_ORG_LIST d
None.gif        
on a.CORG_ID = d.CORG_ID
None.gif
None.gif
where    b.CTYPE = 0
None.gif
None.gif
--order by CUSER_NAME
None.gif
end



推荐阅读
author-avatar
卡夫卡咯
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有