CREATE DATABASE OPERATING_SYSTEM
GO
USE OPERATING_SYSTEM
CREATE TABLE [T_MODULE_SYS] (
[MOD_ID] [varchar]  (50NOT NULL,
[MOD_PARENT_ID] [varchar]  (50NOT NULL,
[MOD_DESC] [varchar]  (150NOT NULL,)
GO
ALTER TABLE [T_MODULE_SYS] WITH NOCHECK ADD  CONSTRAINT [PK_T_MODULE_SYS] PRIMARY KEY  NONCLUSTERED ( [MOD_ID] )
GO
INSERT [T_MODULE_SYS] ([MOD_ID],[MOD_PARENT_ID],[MOD_DESC]VALUES ( '00001','00000','开始')
INSERT [T_MODULE_SYS] ([MOD_ID],[MOD_PARENT_ID],[MOD_DESC]VALUES ( '00002','00001','程序')
INSERT [T_MODULE_SYS] ([MOD_ID],[MOD_PARENT_ID],[MOD_DESC]VALUES ( '00003','00001','设置')
INSERT [T_MODULE_SYS] ([MOD_ID],[MOD_PARENT_ID],[MOD_DESC]VALUES ( '00004','00001','运行')
INSERT [T_MODULE_SYS] ([MOD_ID],[MOD_PARENT_ID],[MOD_DESC]VALUES ( '00005','00002','管理工具')
INSERT [T_MODULE_SYS] ([MOD_ID],[MOD_PARENT_ID],[MOD_DESC]VALUES ( '00006','00002','附件')
INSERT [T_MODULE_SYS] ([MOD_ID],[MOD_PARENT_ID],[MOD_DESC]VALUES ( '00007','00002','启动')
INSERT [T_MODULE_SYS] ([MOD_ID],[MOD_PARENT_ID],[MOD_DESC]VALUES ( '00008','00005','INTERNET 服务管理器')
INSERT [T_MODULE_SYS] ([MOD_ID],[MOD_PARENT_ID],[MOD_DESC]VALUES ( '00009','00005','计算机管理')
INSERT [T_MODULE_SYS] ([MOD_ID],[MOD_PARENT_ID],[MOD_DESC]VALUES ( '00010','00006','计算器')
INSERT [T_MODULE_SYS] ([MOD_ID],[MOD_PARENT_ID],[MOD_DESC]VALUES ( '00011','00003','控制面版')
INSERT [T_MODULE_SYS] ([MOD_ID],[MOD_PARENT_ID],[MOD_DESC]VALUES ( '00012','00003','打印机')
GO
--动态生成树,依据子模块,找到父模块
CREATE PROCEDURE TREEVIEW
    
@MOD_ID VARCHAR(50)
AS
DECLARE @MOD_PARENT_ID VARCHAR(50),
    
@MOD_DESC VARCHAR(50)
BEGIN
    
CREATE TABLE #TEMP(MOD_ID varchar(50),MOD_PARENT_ID varchar(50),MOD_DESC varchar(50))
    
--CREATE TABLE TEMP(MOD_ID varchar(50),MOD_PARENT_ID varchar(50),MOD_DESC varchar(50))
    WHILE 1 = 1
    
BEGIN
        
SELECT @MOD_PARENT_ID = MOD_PARENT_ID,@MOD_DESC = MOD_DESC FROM T_MODULE_SYS
        
WHERE @MOD_ID = MOD_ID
        
INSERT INTO #TEMP VALUES (@MOD_ID,@MOD_PARENT_ID,@MOD_DESC)
        
IF @MOD_PARENT_ID = '00000'
        
BREAK;
        
SET @MOD_ID = @MOD_PARENT_ID
    
END
    
SELECT * FROM #TEMP
END
GO
TREEVIEW 
'00008'
posted on 2006-11-12 10:37  秦岭过客  阅读(463)  评论(0)    收藏  举报