一次性删除数据库中某库的所有存储过程的方法

DECLARE @Sp_Name varchar(30)    --定义游标操作
DECLARE @Tb_Count int
SET @Tb_Count = 0
DECLARE staff_cursor CURSOR FOR
   SELECT [name] FROM sys.sysobjects
   WHERE type='p' AND Category =0 --Category =0 表示
   -- 打开游标
OPEN staff_cursor
-- 提取记录数据
FETCH Next FROM staff_cursor Into @Sp_Name
    PRINT '开始删除存储过程'
    WHILE @@fetch_status = 0
    BEGIN
        SET @Tb_Count = @Tb_Count + 1
        EXEC('DROP PROCEDURE '  + @Sp_Name )
        PRINT CONVERT(varchar(20),@Tb_Count) + ': ' + @Sp_Name
        FETCH Next FROM staff_cursor Into @Sp_Name
    END
    print '总共删除' +   CONVERT(varchar(20),@Tb_Count) + '个存储过程'
CLOSE staff_cursor       -- 关闭游标
DEALLOCATE staff_cursor  -- 释放游标资源

 

posted @   KynoLee  阅读(337)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示