会员
周边
众包
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
麦兜很乖
雀舌未经三月雨,龙芽新占一枝春
博客园
首页
新随笔
联系
订阅
管理
sql递归表查询
Code
1
alter
FUNCTION
f_Cid(
@ResultID
int
)
2
RETURNS
@t_Level
TABLE
(ResultID
char
(
3
),
Level
int
)
3
AS
4
BEGIN
5
DECLARE
@Level
int
6
SET
@Level
=
1
7
INSERT
@t_Level
SELECT
@ResultID
,
@Level
8
WHILE
@@ROWCOUNT
>
0
9
BEGIN
10
SET
@Level
=
@Level
+
1
11
INSERT
@t_Level
SELECT
a.PARENTID,
@Level
12
FROM
D_COMPANYINFOType a,
@t_Level
b
--
这"D_COMPANYINFOType"要换成自己的递归表
13
WHERE
a.D_CHILDID
=
b.ResultID
--
- “D_CHILDID”换成自己的递归表的 父ID
14
AND
b.
Level
=
@Level
-
1
15
END
16
RETURN
17
END
18
GO
19
/**/
/*
测试语句
*/
20
SELECT
*
21
FROM
f_Cid(
4
)
where
level
>
1
22
23
--
where Level>1
24
25
/**/
/*
--结果
*/
26
27
28
posted @
2009-04-20 16:58
麦兜很乖
阅读(
504
) 评论(
1
)
编辑
收藏
举报
刷新页面
返回顶部
公告