一次性删除数据库中某库的所有存储过程的方法
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? -- 釋放游標資源
?
轉載于:https://www.cnblogs.com/lisgang/archive/2012/03/04/2379462.html
總結
以上是生活随笔為你收集整理的一次性删除数据库中某库的所有存储过程的方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ubuntu11.10+git+svn
- 下一篇: PL/SQL-2 复合数据类型