Sql 中的递归研究

CREATE TABLE [dbo].[Test](
    
[ID] [int] IDENTITY(1,1NOT NULL,
    
[Name] [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
    
[ParentID] [int] NULL,
    
[Level] [int] NULL,
 
CONSTRAINT [PK_Test] PRIMARY KEY CLUSTERED 
(
    
[ID] ASC
)
WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ONON [PRIMARY]
ON [PRIMARY]

WITH F 
AS(
    
    
SELECT * FROM Test WHERE ID = 5
    
UNION ALL
    
SELECT TEST.* FROM Test INNER JOIN F ON TEST.ID = F.ParentID WHERE F.ParentID IS NOT NULL
)
Select * From F
posted @ 2009-10-21 23:19  文明的天空  阅读(134)  评论(0编辑  收藏  举报