如何删除 Sql Server 2005 中存在的临时 SP

问题描述 投票:0回答:3

我的问题很简单!如何删除临时存储过程(如果存在)?这是因为当我在脚本中创建临时 SP 时,它会在第二次运行时抛出类似“数据库中已存在名为“#sp_name”的对象”的错误。我不想向用户显示此消息。 请帮我。您的解决方案受到高度赞赏!

sql-server sql-server-2005 stored-procedures
3个回答
23
投票

临时进程的删除方式与永久进程的删除方式相同。 请看下面的代码:


-- Create test temp. proc
CREATE PROC #tempMyProc as
Begin
 print 'Temp proc'
END
GO
-- Drop the above proc
IF OBJECT_ID('tempdb..#tempMyProc') IS NOT NULL
BEGIN
    DROP PROC #tempMyProc
END

0
投票

不是 2005 年,但使用现代 SQL 服务器,您可以做到:

DROP PROCEDURE IF EXISTS  #TestTempSP;

-1
投票
IF EXISTS (SELECT * FROM sys.procedures WHERE name = 'baz')
DROP PROCEDURE baz
© www.soinside.com 2019 - 2024. All rights reserved.