删除存储过程

王朝other·作者佚名  2008-05-19
宽屏版  字体: |||超大  

不再需要存储过程时可将其删除。如果另一个存储过程调用某个已删除的存储过程,则 Microsoft® SQL Server™ 2000 会在执行该调用过程时显示一条错误信息。但如果定义了同名和参数相同的新存储过程来替换已删除存储过程,那么引用该过程的其它过程仍能顺利执行。例如,如果存储过程 proc1 引用存储过程 proc2,而 proc2 被删除,但由创建了另一个名为 proc2 的存储过程,现在 proc1 将引用这一新存储过程,proc1 也不必重新编译。

存储过程分组后,将无法删除组内的单个存储过程。删除一个存储过程会将同一组内的所有存储过程都删除。

1、删除存储过程

Transact-SQL(参考)

企业管理器:

如何删除存储过程?

展开服务器组,然后展开服务器。

展开"数据库"文件夹,展开存储过程所属的数据库,然后单击"存储过程"文件夹。

在详细信息窗格中右击要删除的存储过程,然后单击"删除"命令。

若要查看删除此存储过程对数据库的影响,单击"显示相关性"命令。

单击"全部除去"按钮。

2、删除扩展存储过程

I、sp_dropextendedproc:

除去扩展存储过程。

语法

sp_dropextendedproc [ @functname = ] 'procedure'

参数

[@functname =] 'procedure'

将要除去的扩展存储过程的名称。procedure 的数据类型为 nvarchar(517),没有默认值。

返回代码值

0(成功)或 1(失败)

结果集

注释

执行 sp_dropextendedproc 可以将扩展存储过程名从 sysobjects 表除去,并且从 syscomments 表删除相应的条目。

不能在事务内部执行 sp_dropextendedproc。

权限

只有 sysadmin 固定服务器角色的成员才可以执行 sp_dropextendedproc。

示例

下面的示例除去 xp_diskfree 扩展存储过程。

说明 为了下面的示例正常工作而不返回错误信息,这个扩展存储过程必须已经存在。

USE master

EXEC sp_dropextendedproc 'xp_hello'

企业管理器:

如何删除扩展存储过程?

展开服务器组,然后展开服务器。

展开"数据库"文件夹,展开 master 数据库,然后单击"扩展存储过程"文件夹。

在详细信息窗格中右击要删除的扩展存储过程,然后单击"删除"命令。

要查看删除此扩展存储过程对数据库的影响,单击"显示相关性"命令。

单击"全部除去"按钮。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有