为了账号安全,请及时绑定邮箱和手机立即绑定

SQL删除磁盘文件

标签:
SQL Server

以前实现备份文件管理,有一个删除功能,是使用asp.net来实现删除备份文件。这段时间改用在SQL Server存储过程去实现。您可以参考到这个存储过程完整代码。

代码

IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[usp_DeleteFile]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[usp_DeleteFile] 
GO

CREATE PROCEDURE [dbo].[usp_DeleteFile]
(
    @FileName nvarchar(128)
)
AS
DECLARE @OutInfo TABLE
    (
     [FILE_EXISTS] INT NOT NULL,
     [FILE_IS_DIRECTORY] INT NOT NULL,
     [PARENT_DIRECTORY_EXISTS] INT NOT NULL
    )
INSERT INTO @OutInfo EXECUTE [master].[dbo].xp_fileexist @FileName
DECLARE @Flag INT = (SELECT [FILE_EXISTS] FROM @OutInfo)
IF (@Flag = 1)
BEGIN
    DECLARE @OrgBkFileString NVARCHAR(1000) = 'DEL "' + @FileName + '"'
    EXECUTE master..xp_cmdshell @OrgBkFileString 
END

IF @@ERROR <> 0
BEGIN
    RAISERROR(N'Can not delete file.',16,1)
    RETURN
END

 

 

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
移动开发工程师
手记
粉丝
18
获赞与收藏
134

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消