我的问题很简单!如何删除临时存储过程(如果存在)?这是因为当我在脚本中创建临时 SP 时,它会在第二次运行时抛出类似“数据库中已存在名为“#sp_name”的对象”的错误。我不想向用户显示此消息。 请帮我。您的解决方案受到高度赞赏!
临时进程的删除方式与永久进程的删除方式相同。 请看下面的代码:
-- 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
不是 2005 年,但使用现代 SQL 服务器,您可以做到:
DROP PROCEDURE IF EXISTS #TestTempSP;
IF EXISTS (SELECT * FROM sys.procedures WHERE name = 'baz')
DROP PROCEDURE baz