--获得某一分类下的所有子分类
1
CREATE PROCEDURE sp_Market_News_Type_GetChildType
2
@pTypeID int
3
AS
4
DECLARE @RecCount int
5
DECLARE @AllTable table( OID int )
6
DECLARE @ChildTable table( OID int )
7
DECLARE @TempTable table( OID int )
8
9
INSERT INTO @ChildTable SELECT ID FROM TB_Market_News_Types WHERE ParentID = @pTypeID
10
SELECT @RecCount = COUNT(1) FROM @ChildTable
11
12
WHILE @RecCount > 0
13
BEGIN
14
--把子结点插入到结果表中
15
INSERT INTO @AllTable SELECT OID FROM @ChildTable
16
17
DELETE FROM @TempTable
18
INSERT INTO @TempTable SELECT OID FROM @ChildTable
19
DELETE FROM @ChildTable
20
21
INSERT INTO @ChildTable SELECT ID FROM tb_Market_News_Types WHERE ParentID IN ( SELECT OID FROM @TempTable )
22
23
SELECT @RecCount = COUNT(1) FROM @ChildTable
24
END
25
26
SELECT OID FROM @AllTable
27
GO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
1
GO