1
CREATE PROCEDURE USP_CatalogDeleteChild
2
(
3
@catalogid nvarchar(50)
4
)
5
AS
6
SET NOCOUNT ON
7
8
DECLARE @childCatalogId nvarchar(50)
9
DECLARE @loop int
10
DECLARE @totalrow int
11
12
DELETE FROM cms_catalog WHERE [id] = @catalogid
13
BEGIN
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
25
END
26
GO
27
CREATE PROCEDURE USP_CatalogDeleteChild2
( 3
@catalogid nvarchar(50)4
)5
AS6
SET NOCOUNT ON7

8
DECLARE @childCatalogId nvarchar(50)9
DECLARE @loop int10
DECLARE @totalrow int11

12
DELETE FROM cms_catalog WHERE [id] = @catalogid13
BEGIN14
----------递归,使用临时表15
SELECT[id],identity(int) AS i INTO #tmp FROM cms_catalog WHERE parentid = @catalogid 16
SET @totalrow = @@rowcount17
SET @loop =118
19
WHILE(@loop <= @totalrow)20
begin 21
SELECT @childCatalogId = [id] FROM #tmp WHERE i = @loop22
SET @loop = @loop+123
EXEC USP_CatalogDeleteChild @childCatalogId 24
end25
END26
GO27

浙公网安备 33010602011771号