如何检查sql server对象的存在并删除它?

mar*_*cgg 6 t-sql sql-server

编辑:功能创建丢失了,抱歉

我有一个T-SQL请求:

DECLARE @IsSomething bit
SET @IsSomething = 0
IF /some tests/ SET @IsSomething = 1
EXEC('
CREATE FUNCTION IsSomething ()
RETURNS bit
AS
BEGIN
    RETURN ' + @IsSomething + '
END')
Run Code Online (Sandbox Code Playgroud)

当然如果我跑两次,我会得到

There is already an object named 'IsSomething ' in the database. 
Run Code Online (Sandbox Code Playgroud)

我该怎么做这样的事情:

IF EXIST @IsSomething DESTROY @IsSomething // (Pseudo bad code)
Run Code Online (Sandbox Code Playgroud)

Chr*_*all 9

IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = object_id (N'[dbo].[IsSomething]') AND OBJECTPROPERTY(id, N'IsFunction') = 1) 

DROP function IsSomething
GO
Run Code Online (Sandbox Code Playgroud)