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(int) AS 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
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(int) AS 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