存储过程 – 在SQL Server 2000中删除存储过程的语法是什么?

前端之家收集整理的这篇文章主要介绍了存储过程 – 在SQL Server 2000中删除存储过程的语法是什么?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
简单的问题,正如标题所示:

首先检查SP是否存在sql Server 2000中存储过程(SP)的语法是什么?

请提供完整的代码

解决方法

微软推荐使用object_id()函数,就像这样:
IF EXISTS (select * from dbo.sysobjects where id = object_id(N'[dbo].[YourProcedure]') and OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE [dbo].[YourProcedure]
GO


object_id()有助于解决所有者冲突。如果你这样做
SELECT name FROM sysobjects WHERE name =’my_procedure’
您可能会看到许多不同的程序,具有相同的名称 – 所有的不同的所有者。

但是,如果存在多个过程,SELECT * FROM sysobjects WHERE id = object_id(N'[my_procedure]’)将只显示当前所有者/用户的一个。

仍然,始终指定对象所有者(默认为dbo)。这不仅避免了讨厌的副作用,还有一点快。

猜你在找的MsSQL相关文章