编辑:功能创建丢失了,抱歉
我有一个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)
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)