Discuz!NT
欢迎 游客 , 注册 | 登录 | 会员 | 界面 | 简洁版本 | 在线 | 帮助
商都网教育宝典宝库

发表新主题 回复该主题
本主题被查看873次, 共1个帖子, 1页, 当前为第1页     选择页数: 1      跳转到第   上一主题   下一主题
标题: SQLServer联机丛书:删除存储过程
-[尕硴]
超级版主
UID: 71
来自:
精华: 130
积分: 14003
帖子: 12909
注册: 2007-10-22 17:59:00
状态: 离线
威望: 444.00
金钱: 3355.00 元
只看楼主 2007-11-01 17:22
SQLServer联机丛书:删除存储过程
删除存储过程不再需要存储过程时可将其删除。如果另一个存储过程调用某个已删除的存储过程,则 Microsoft® SQL Server™ 2000 会在执行该调用过程时显示一条错误信息。但如果定义了同名和参数相同的新存储过程来替换已删除存储过程,那么引用该过程的其它过程仍能顺利执行。例如,如果存储过程 proc1 引用存储过程 proc2,而 proc2 被删除,但由创建了另一个名为 proc2 的存储过程,现在 proc1 将引用这一新存储过程,proc1 也不必重新编译。 

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

  DROP PROCEDURE

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

  语法

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

  参数

  procedure

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

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

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

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

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

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

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

  DROP PROCEDURE byroyaltyGO
#1  
发表新主题 回复该主题
本主题被查看873次, 共1个帖子, 1页, 当前为第1页     选择页数: 1      跳转到第







现在的时间是 2008-08-22 09:42:54

版权所有 商都网教育宝典
         Powered by Discuz!NT 1.0.6666    Copyright © 2001-2008 Comsenz Inc.
Processed in 0.064 seconds