夜隼

RYSZ

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
 1CREATE PROCEDURE USP_CatalogDeleteChild
 2
 3    @catalogid nvarchar(50)
 4)
 5AS
 6SET NOCOUNT ON
 7
 8DECLARE @childCatalogId nvarchar(50)
 9DECLARE @loop int
10DECLARE @totalrow int
11
12DELETE FROM cms_catalog WHERE [id] =  @catalogid
13BEGIN
14    ----------递归,使用临时表
15    SELECT[id],identity(intAS i INTO #tmp FROM cms_catalog WHERE parentid = @catalogid    
16    SET @totalrow = @@rowcount
17    SET @loop =1
18    
19    WHILE(@loop <= @totalrow)
20    begin    
21        SELECT @childCatalogId = [id] FROM #tmp WHERE i = @loop
22        SET @loop = @loop+1
23        EXEC USP_CatalogDeleteChild @childCatalogId        
24    end
25END
26GO
27
posted on 2006-07-02 13:06  夜隼  阅读(1016)  评论(0编辑  收藏  举报