Sql Server批量删除存储过程

代码如下:
代码

 

 

ContractedBlock.gif ExpandedBlockStart.gif 代码
 
   
declare proccur cursor
for
select [ name ] from sysobjects where type = ' P '
declare @procname varchar ( 100 )
open proccur
fetch next from proccur into @procname
while ( @@FETCH_STATUS = 0 )
begin
exec ( ' drop proc ' + @procname )
print ( @procname + ' 已被删除 ' )
fetch next from proccur into @procname
end
close proccur
deallocate proccur

 

 

 


 

@@FETCH_STATUS解释如下:
@@FETCH_STATUS (Transact-SQL)  返回针对连接当前打开的任何游标发出的上一条游标 FETCH 语句的状态。Transact-SQL 语法约定语法 --------------------------------------------------------------------------------复制 @@FETCH_STATUS
返回类型
--------------------------------------------------------------------------------
integer
返回值
--------------------------------------------------------------------------------

返回值  说明  0 FETCH 语句成功。 -1 FETCH 语句失败或行不在结果集中。 -2 提取的行不存在。
备注
--------------------------------------------------------------------------------
由于 @@FETCH_STATUS 对于在一个连接上的所有游标都是全局性的,所以要谨慎使用 @@FETCH_STATUS。在执行一条 FETCH 语句后,必须在对另一游标执行另一 FETCH 语句前测试 @@FETCH_STATUS。在此连接上出现任何提取操作之前,@@FETCH_STATUS 的值没有定义。
例如,用户从一个游标执行一条 FETCH 语句,然后调用一个存储过程,此存储过程打开并处理另一个游标的结果。从被调用的存储过程返回控制后,@@FETCH_STATUS 反映的是在存储过程中执行的最后的 FETCH 语句的结果,而不是在存储过程被调用之前的 FETCH 语句的结果。
若要检索特定游标的最后提取状态,请查询 sys.dm_exec_cursors 动态管理函数的 fetch_status 列。
示例
--------------------------------------------------------------------------------
以下示例用 @@FETCH_STATUS 控制一个 WHILE 循环中的游标活动。
DECLARE Employee_Cursor CURSOR FORSELECT EmployeeID, Title FROM AdventureWorks.HumanResources.Employee;OPEN Employee_Cursor;FETCH NEXT FROM Employee_Cursor;WHILE @@FETCH_STATUS = 0   BEGIN      FETCH NEXT FROM Employee_Cursor;   END;CLOSE Employee_Cursor;DEALLOCATE Employee_Cursor;GO
http://msdn.microsoft.com/zh-cn/library/ms187308(v=SQL.90).aspx

 

转载于:https://www.cnblogs.com/bsnm/archive/2010/07/05/1771481.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值