博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SQL Server联机丛书:删除存储过程
阅读量:5099 次
发布时间:2019-06-13

本文共 1011 字,大约阅读时间需要 3 分钟。

删除存储过程

不再需要存储过程时可将其删除。如果另一个存储过程调用某个已删除的存储过程,则 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
转自:

转载于:https://www.cnblogs.com/Dicky/archive/2005/01/30/122584.html

你可能感兴趣的文章
1.linux ping:unknown host www.***.***
查看>>
字符串处理函数
查看>>
jenkins修改时区
查看>>
比较git commit 两个版本之间次数
查看>>
jQuery.support
查看>>
【LeetCode】167. Two Sum II - Input array is sorted
查看>>
如何在g++中添加include文件的目录
查看>>
BlockingQueue深入解析
查看>>
无向图求桥 UVA 796
查看>>
Nginx+Keepalived 实现双击热备及负载均衡
查看>>
五分钟搭建WordPress博客(二)
查看>>
Vue_(组件通讯)子组件向父组件传值
查看>>
jvm参数
查看>>
Something-Summary
查看>>
Spring学习笔记
查看>>
6个有用的MySQL语句
查看>>
linux c/c++ IP字符串转换成可比较大小的数字
查看>>
我对前端MVC的理解
查看>>
sql: table,view,function, procedure created MS_Description in sql server
查看>>
[网络流24题] 最长k可重区间集问题 (费用流)
查看>>