全部查询到临时表中 然后 批量删除
ALTER PROCEDURE [dbo].[proc_DocDelFolder] @FolderId INT
AS
BEGIN
SET NOCOUNT OFF
DECLARE @i INT
SET @i = 0
INSERT INTO #FIDS
( id, levelNo )
VALUES ( @FolderId, -- id - int
1 -- levelNo - int
)
WHILE @@ROWCOUNT > 0
BEGIN
SET @i = @i + 1
INSERT #FIDS
SELECT F.ID ,
@i + 1
FROM #FIDS R ,
dbo.Doc_Folder F
WHERE F.ParentDirID = R.id
AND R.levelNo = @i
END
DELETE FROM dbo.Doc_Folder
WHERE ID IN ( SELECT ID
FROM #FIDS )
END
批量删除指定文件夹下的所有子目录及文件
本文提供了一个SQL存储过程,用于将指定文件夹及其所有子目录和文件从数据库中批量删除。通过将文件夹ID作为输入参数,程序会递归地查找并删除所有位于该文件夹下的子目录和文件。
4306

被折叠的 条评论
为什么被折叠?



