数据库

本类阅读TOP10

·SQL语句导入导出大全
·SQL Server日期计算
·SQL语句导入导出大全
·SQL to Excel 的应用
·Oracle中password file的作用及说明
·MS SQLServer OLEDB分布式事务无法启动的一般解决方案
·sqlserver2000数据库置疑的解决方法
·一个比较实用的大数据量分页存储过程
·如何在正运行 SQL Server 7.0 的服务器之间传输登录和密码
·SQL中两台服务器间使用连接服务器

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
SQL Server联机丛书:删除存储过程

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

删除存储过程

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

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

DROP PROCEDURE

从当前数据库中删除一个或多个存储过程或过程组。

语法

DROP PROCEDURE { procedure } [ ,...n ]

参数

procedure

是要删除的存储过程或存储过程组的名称。过程名称必须符合标识符规则。有关更多信息,请参见使用标识符。可以选择是否指定过程所有者名称,但不能指定服务器名称和数据库名称。

n

是表示可以指定多个过程的占位符。

注释

若要查看过程名称列表,请使用 sp_help。若要显示过程定义(存储在 syscomments 系统表内),请使用 sp_helptext。除去某个存储过程时,将从 sysobjectssyscomments 系统表中删除有关该过程的信息。

不能除去组内的个别过程,必须除去整个过程组。

不论用户定义的系统过程(以 sp_ 为前缀)是否为当前数据库,都将其从 master 数据库中除去。如果在当前的数据库未找到系统过程,则 Microsoft® SQL Server™ 尝试将其从 master 数据库除去。

权限

默认情况下,将 DROP PROCEDURE 权限授予过程所有者,该权限不可转让。然而,db_owner db_ddladmin 固定数据库角色成员和 sysadmin 固定服务器角色成员可以通过在 DROP PROCEDURE 内指定所有者除去任何对象。

示例

下例删除 byroyalty 存储过程(在当前数据库内)。

DROP PROCEDURE byroyalty
GO



相关文章

相关软件