【发布时间】:2017-06-07 14:58:17
【问题描述】:
如果函数不存在,我想创建它们并在它们存在时更新。
但是 mssql 说那是函数附近的错误语法。
IF NOT EXISTS(SELECT 1 FROM sys.objects where name='CreateJson' AND type='U' )
Begin
Create function [dbo].CreateJson
(
@String nvarchar(4000),
@Param0 SQL_VARIANT = NULL
)
returns nvarchar(4000)
as
begin
declare @Null nvarchar(4) = N'NULL';
return replace(@String, N'{0}', cast(isnull(@Param0, @Null) as nvarchar(4000)));
end
end
IF EXISTS(SELECT 1 FROM sys.objects where name='CreateJson' AND type='U' )
Begin
Alter function [dbo].CreateJson
(
@String nvarchar(4000),
@Param0 SQL_VARIANT = NULL
)
returns nvarchar(4000)
as
begin
declare @Null nvarchar(4) = N'NULL';
return replace(@String, N'{0}', cast(isnull(@Param0, @Null) as nvarchar(4000)));
end
End
Go
如何按条件创建更新/创建函数?
【问题讨论】:
-
相反,如果该函数存在,则删除该函数,然后始终重新创建它。
-
这个终于在2016年上市了!!!创建或更改
标签: sql sql-server sql-server-2008 tsql sql-server-2012